<?php
/* Driver template for the PHP_block_formal_langs_parser_cpp_languagerGenerator parser generator. (PHP port of LEMON)
*/

/**
 * This can be used to store both the string representation of
 * a token, and any useful meta-data associated with the token.
 *
 * meta-data should be stored as an array
 */
class block_formal_langs_parser_cpp_languageyyToken implements ArrayAccess
{
    public $string = '';
    public $metadata = array();

    function __construct($s, $m = array())
    {
        if ($s instanceof block_formal_langs_parser_cpp_languageyyToken) {
            $this->string = $s->string;
            $this->metadata = $s->metadata;
        } else {
            $this->string = (string) $s;
            if ($m instanceof block_formal_langs_parser_cpp_languageyyToken) {
                $this->metadata = $m->metadata;
            } elseif (is_array($m)) {
                $this->metadata = $m;
            }
        }
    }

    function __toString()
    {
        return $this->string;
    }

    function offsetExists($offset)
    {
        return isset($this->metadata[$offset]);
    }

    function offsetGet($offset)
    {
        return $this->metadata[$offset];
    }

    function offsetSet($offset, $value)
    {
        if ($offset === null) {
            if (isset($value[0])) {
                $x = ($value instanceof block_formal_langs_parser_cpp_languageyyToken) ?
                    $value->metadata : $value;
                $this->metadata = array_merge($this->metadata, $x);
                return;
            }
            $offset = count($this->metadata);
        }
        if ($value === null) {
            return;
        }
        if ($value instanceof block_formal_langs_parser_cpp_languageyyToken) {
            if ($value->metadata) {
                $this->metadata[$offset] = $value->metadata;
            }
        } elseif ($value) {
            $this->metadata[$offset] = $value;
        }
    }

    function offsetUnset($offset)
    {
        unset($this->metadata[$offset]);
    }
}

/** The following structure represents a single element of the
 * parser's stack.  Information stored includes:
 *
 *   +  The state number for the parser at this level of the stack.
 *
 *   +  The value of the token stored at this level of the stack.
 *      (In other words, the "major" token.)
 *
 *   +  The semantic value stored at this level of the stack.  This is
 *      the information used by the action routines in the grammar.
 *      It is sometimes called the "minor" token.
 */
class block_formal_langs_parser_cpp_languageyyStackEntry
{
    public $stateno;       /* The state-number */
    public $major;         /* The major token value.  This is the code
                     ** number for the token at this stack level */
    public $minor; /* The user-supplied minor token value.  This
                     ** is the value of the token  */
};

// code external to the class is included here
#line 3 "langs_src/parser_cpp_language.y"

require_once($CFG->dirroot.'/blocks/formal_langs/descriptions/descriptionrule.php');
#line 102 "langs_src/parser_cpp_language.php"

// declare_class is output here
#line 2 "langs_src/parser_cpp_language.y"
class block_formal_langs_parser_cpp_language#line 107 "langs_src/parser_cpp_language.php"
{
/* First off, code is included which follows the "include_class" declaration
** in the input file. */
#line 6 "langs_src/parser_cpp_language.y"

    // Root of the Abstract Syntax Tree (AST).
    public $root;
	// Current id for language
	public $currentid;
	// A mapper for parser
	public $mapper;
	// Test, whether parsing error occured
	public $error = false;
    // A current rule for a parser
	public $currentrule = null;
	
	protected function create_node($type, $children) {
		$result = new block_formal_langs_ast_node_base($type, null, $this->currentid, false);
		$this->currentid = $this->currentid + 1;
		$result->set_childs($children);
		$result->rule = $this->currentrule;
		return $result;
	}
	
	public function perform_repeat_lookup($oldmajor, $token) {
		if (is_object($token) == false)
		{
			return $oldmajor;
		}
		if ($token->type() == 'identifier')
		{
			return $this->mapper->major_code_for($token);
		}
		return $oldmajor;
	}
	
#line 145 "langs_src/parser_cpp_language.php"

/* Next is all token values, as class constants
*/
/* 
** These constants (all generated automatically by the parser generator)
** specify the various kinds of tokens (terminals) that the parser
** understands. 
**
** Each symbol here is a terminal symbol in the grammar.
*/
    const RIGHTROUNDBRACKET              =  1;
    const THENKWD                        =  2;
    const ELSEKWD                        =  3;
    const NOTEQUAL                       =  4;
    const EQUAL                          =  5;
    const LOGICALAND                     =  6;
    const BINARYAND                      =  7;
    const BINARYOR                       =  8;
    const LOGICALOR                      =  9;
    const AMPERSAND                      = 10;
    const BINARYXOR                      = 11;
    const UINDIRECTION                   = 12;
    const UADRESS                        = 13;
    const NAMESPACE_RESOLVE              = 14;
    const UMINUS                         = 15;
    const UPLUS                          = 16;
    const UBRACKET                       = 17;
    const TYPEUNARY                      = 18;
    const MACROPARAMETERPRIORITY         = 19;
    const SEMICOLON                      = 20;
    const FORKWD                         = 21;
    const UNSIGNED                       = 22;
    const SIGNED                         = 23;
    const LONG                           = 24;
    const SHORT                          = 25;
    const INT                            = 26;
    const CHAR                           = 27;
    const DOUBLE                         = 28;
    const FLOAT                          = 29;
    const VOID                           = 30;
    const GREATER                        = 31;
    const COMMA                          = 32;
    const LESSER                         = 33;
    const MULTIPLY                       = 34;
    const CONSTKWD                       = 35;
    const TYPENAME                       = 36;
    const LEFTROUNDBRACKET               = 37;
    const SIZEOF                         = 38;
    const IDENTIFIER                     = 39;
    const PREPROCESSOR_CONCAT            = 40;
    const PREPROCESSOR_STRINGIFY         = 41;
    const STRING                         = 42;
    const CHARACTER                      = 43;
    const NUMERIC                        = 44;
    const LEFTSQUAREBRACKET              = 45;
    const RIGHTSQUAREBRACKET             = 46;
    const LEFTFIGUREBRACKET              = 47;
    const RIGHTFIGUREBRACKET             = 48;
    const ASSIGN                         = 49;
    const REINTERPRET_CAST               = 50;
    const DYNAMIC_CAST                   = 51;
    const STATIC_CAST                    = 52;
    const CONST_CAST                     = 53;
    const RIGHTARROW                     = 54;
    const DOT                            = 55;
    const DECREMENT                      = 56;
    const INCREMENT                      = 57;
    const PLUS                           = 58;
    const MINUS                          = 59;
    const BINARYNOT                      = 60;
    const LOGICALNOT                     = 61;
    const DIVISION                       = 62;
    const MODULOSIGN                     = 63;
    const RIGHTSHIFT                     = 64;
    const LEFTSHIFT                      = 65;
    const GREATER_OR_EQUAL               = 66;
    const LESSER_OR_EQUAL                = 67;
    const NOT_EQUAL                      = 68;
    const MINUS_ASSIGN                   = 69;
    const PLUS_ASSIGN                    = 70;
    const MULTIPLY_ASSIGN                = 71;
    const DIVISION_ASSIGN                = 72;
    const MODULO_ASSIGN                  = 73;
    const LEFTSHIFT_ASSIGN               = 74;
    const RIGHTSHIFT_ASSIGN              = 75;
    const BINARYAND_ASSIGN               = 76;
    const BINARYOR_ASSIGN                = 77;
    const BINARYXOR_ASSIGN               = 78;
    const FRIENDKWD                      = 79;
    const VOLATILEKWD                    = 80;
    const REGISTERKWD                    = 81;
    const EXTERNKWD                      = 82;
    const STATICKWD                      = 83;
    const DELETE                         = 84;
    const NEWKWD                         = 85;
    const BREAKKWD                       = 86;
    const TYPEDEF                        = 87;
    const IFKWD                          = 88;
    const DEFAULTKWD                     = 89;
    const CASEKWD                        = 90;
    const COLON                          = 91;
    const SWITCHKWD                      = 92;
    const ELLIPSIS                       = 93;
    const CATCHKWD                       = 94;
    const TRYKWD                         = 95;
    const GOTOKWD                        = 96;
    const CONTINUEKWD                    = 97;
    const RETURNKWD                      = 98;
    const DOKWD                          = 99;
    const WHILEKWD                       = 100;
    const PREPROCESSOR_INCLUDE           = 101;
    const PREPROCESSOR_DEFINE            = 102;
    const PREPROCESSOR_IF                = 103;
    const PREPROCESSOR_IFDEF             = 104;
    const PREPROCESSOR_ELSE              = 105;
    const PREPROCESSOR_ELIF              = 106;
    const PREPROCESSOR_ENDIF             = 107;
    const OUTER_CONSTRUCTOR_NAME         = 108;
    const OPERATOROVERLOADDECLARATION    = 109;
    const ENUMKWD                        = 110;
    const SLOTSKWD                       = 111;
    const SIGNALSKWD                     = 112;
    const PRIVATEKWD                     = 113;
    const PROTECTEDKWD                   = 114;
    const PUBLICKWD                      = 115;
    const UNIONKWD                       = 116;
    const STRUCTKWD                      = 117;
    const CLASSKWD                       = 118;
    const TEMPLATEKWD                    = 119;
    const TYPENAMEKWD                    = 120;
    const NAMESPACEKWD                   = 121;
    const COMMENT                        = 122;
    const YY_NO_ACTION = 1405;
    const YY_ACCEPT_ACTION = 1404;
    const YY_ERROR_ACTION = 1403;

/* Next are that tables used to determine what action to take based on the
** current state and lookahead token.  These tables are used to implement
** functions that take a state number and lookahead value and return an
** action integer.  
**
** Suppose the action integer is N.  Then the action is determined as
** follows
**
**   0 <= N < self::YYNSTATE                              Shift N.  That is,
**                                                        push the lookahead
**                                                        token onto the stack
**                                                        and goto state N.
**
**   self::YYNSTATE <= N < self::YYNSTATE+self::YYNRULE   Reduce by rule N-YYNSTATE.
**
**   N == self::YYNSTATE+self::YYNRULE                    A syntax error has occurred.
**
**   N == self::YYNSTATE+self::YYNRULE+1                  The parser accepts its
**                                                        input. (and concludes parsing)
**
**   N == self::YYNSTATE+self::YYNRULE+2                  No such action.  Denotes unused
**                                                        slots in the yy_action[] table.
**
** The action table is constructed as a single large static array $yy_action.
** Given state S and lookahead X, the action is computed as
**
**      self::$yy_action[self::$yy_shift_ofst[S] + X ]
**
** If the index value self::$yy_shift_ofst[S]+X is out of range or if the value
** self::$yy_lookahead[self::$yy_shift_ofst[S]+X] is not equal to X or if
** self::$yy_shift_ofst[S] is equal to self::YY_SHIFT_USE_DFLT, it means that
** the action is not in the table and that self::$yy_default[S] should be used instead.  
**
** The formula above is for computing the action when the lookahead is
** a terminal symbol.  If the lookahead is a non-terminal (as occurs after
** a reduce action) then the static $yy_reduce_ofst array is used in place of
** the static $yy_shift_ofst array and self::YY_REDUCE_USE_DFLT is used in place of
** self::YY_SHIFT_USE_DFLT.
**
** The following are the tables generated in this section:
**
**  self::$yy_action        A single table containing all actions.
**  self::$yy_lookahead     A table containing the lookahead for each entry in
**                          yy_action.  Used to detect hash collisions.
**  self::$yy_shift_ofst    For each state, the offset into self::$yy_action for
**                          shifting terminals.
**  self::$yy_reduce_ofst   For each state, the offset into self::$yy_action for
**                          shifting non-terminals after a reduce.
**  self::$yy_default       Default action for each state.
*/
    const YY_SZ_ACTTAB = 15913;
static public $yy_action = array(
 /*     0 */   606,  174,  438,  208,  821,  316,  825,   13,  644,  334,
 /*    10 */   593,  220,  428,  636,  224,  334,  328,  617,  429,  614,
 /*    20 */   359,  187,   90,  329,  727,  730,  163,  743,  241,  316,
 /*    30 */   825,  756,  731,    2,  616,  607,  143,  299,  308,  632,
 /*    40 */   631,  630,  359,  727,  730,  179,  313,  612,  186,  112,
 /*    50 */   728,  731,   81,  597,  618,   99,  417,  111,   93,  334,
 /*    60 */   328,  319,   94,  142,  223,  132,  430,  225,   40,    5,
 /*    70 */   334,  328,   17,  429,   79,  359,   78,  613,  794,  615,
 /*    80 */   184,  811,  822,  823,  325,  619,   26,  492,  762,   32,
 /*    90 */   479,  200,  792,  168,  110,  437,   44,  604,  432,   45,
 /*   100 */   827,  406,  610,  602,  316,  825,  634,  441,  740,  434,
 /*   110 */   108,  807,  475,   58,   47,  655,  319,  258,  333,  808,
 /*   120 */   107,  760,  759,  716,  714,  713,  117,  796,  795,   14,
 /*   130 */    18,  699,  320,  123,  709,  170,  620,  395,  238,  393,
 /*   140 */   304,  389,  327,   86,  317,  215,   52,  141,  144,  664,
 /*   150 */   115,  381,  217,  418,  104,  162,  105,  236,  608,  275,
 /*   160 */   195,  191,  746,   98,   95,  125,   92,   96,  384,  348,
 /*   170 */   211,  353,  386,  355,  396,  784,  395,  350,  393,  347,
 /*   180 */   637,  638,  639,  584,  665,  219,   73,  436,  670,  624,
 /*   190 */   626,   74,   75,  228,  794,  372,  375,  790,  692,  323,
 /*   200 */   791,  781,  334,  328,  650,  649,  666,  153,  689,  139,
 /*   210 */   138,  641,  354,  623,  174,  438,  208,  821,  316,  825,
 /*   220 */    13,  135,  748,  593,  220,  428,  148,  224,  360,   87,
 /*   230 */   629,  627,  115,  381,  187,   90,  274,  727,  730,  163,
 /*   240 */   743,  241,  182,  673,  756,  731,  674,  342,  285,  129,
 /*   250 */   424,  429,  439,  359,  819,  405,  408,  399,  409,   86,
 /*   260 */   612,  186,  112,  233,  416,  412,  414,  413,   99,  546,
 /*   270 */   111,   93,  338,  248,  322,   94,  142,  223,  132,  744,
 /*   280 */   225,   40,  636,  334,  328,   17,  809,  332,  150,  609,
 /*   290 */   671,   14,   18,  184,  811,  822,  823,  325,  619,   26,
 /*   300 */   492,  622,   32,  479,  200,  792,  168,  636,  437,   46,
 /*   310 */   789,   76,   77,  827,  406,  323,  221,  747,  360,  634,
 /*   320 */   441,  556,  434,  108,  807,  475,   58,   47,   89,   91,
 /*   330 */    88,  333,  808,  107,  760,  759,  716,  714,  713,  117,
 /*   340 */   424,  429,  439,  359,  429,  405,  408,  399,  409,  706,
 /*   350 */   798,  238,  418,  304,  417,  327,  380,  317,  215,  315,
 /*   360 */   141,  442,  423,  433,  400,  217,   81,  104,  162,  105,
 /*   370 */   820,  608,  657,  195,  191,  746,   98,   95,  125,   92,
 /*   380 */    96,  384,  173,  346,  353,  386,  355,  396, 1131,  263,
 /*   390 */   259,  165,  636,  637,  638,  639,  584,  665,  219,  274,
 /*   400 */   436,  670,  624,  626,  303,   49,  228,  380,  372,  375,
 /*   410 */   334,  328,  657,  429,  430,  359,  586,  650,  649,  666,
 /*   420 */   153,  689,  139,  138,  641,  354,  606,  174,  438,  208,
 /*   430 */   821,  296,  165,   13,  669,  712,  593,  220,  428,  211,
 /*   440 */   224,  301,  296,  165,  573,  348,  712,  187,   90,  660,
 /*   450 */   727,  730,  163,  743,  241,   73,  319,  756,  731,  218,
 /*   460 */   675,  607,  143,  653,  211,  632,  631,  630,  275,  784,
 /*   470 */   190,  657,  169,  612,  186,  112,  316,  825,  359,  315,
 /*   480 */    73,   99,  488,  111,   93,  305,   81,  274,   94,  142,
 /*   490 */   223,  132,  513,  225,   40,  185,  688,  603,   17,  687,
 /*   500 */   368,  601,  794,  645,  445,    7,  184,  811,  822,  823,
 /*   510 */   325,  619,   26,  492,  216,   32,  479,  200,  792,  168,
 /*   520 */   356,  437,  364,  315,  316,  825,  827,  406,  316,  825,
 /*   530 */    81,  165,  634,  441,  274,  434,  108,  807,  475,   58,
 /*   540 */    47,  636,  490,  566,  333,  808,  107,  760,  759,  716,
 /*   550 */   714,  713,  117,  180,  573,  708,  320,  123,  709,  170,
 /*   560 */    81,  356,  773,  364,  238,   73,  304,   86,  327,  636,
 /*   570 */   317,  215,  356,  141,  364,  379,  377,   49,  217,    1,
 /*   580 */   104,  162,  105,   66,  608,  234,  195,  191,  746,   98,
 /*   590 */    95,  125,   92,   96,  384,  348,  378,  353,  386,  355,
 /*   600 */   396,  356,  243,  364,   85,  424,  637,  638,  639,  584,
 /*   610 */   665,  219,  420,  436,  670,  624,  626,  424,  779,  228,
 /*   620 */   359,  372,  375,  323,  424,  458,  346,  359,  567,  402,
 /*   630 */   650,  649,  666,  153,  689,  139,  138,  641,  354,  270,
 /*   640 */  1404,   20,   11,  647,  174,  438,  208,  821,  402,  222,
 /*   650 */    13,  600,  339,  593,  220,  428,  322,  224,  683,  392,
 /*   660 */   356,  446,  364,  682,  187,   90,  177,  727,  730,  163,
 /*   670 */   743,  241,  360,   81,  756,  731,  268,  293,  813,  531,
 /*   680 */   362,  365,  395,  350,  393,  347,  389,  361,  397,  552,
 /*   690 */   612,  186,  112,  328,  424,  359,  293,  444,   99,  751,
 /*   700 */   111,   93,  551,  590,  797,   94,  142,  223,  132,  429,
 /*   710 */   225,   40,  431,  315,   73,   17,  359,  418,  611,  258,
 /*   720 */    81,  236,  815,  184,  811,  822,  823,  325,  619,   26,
 /*   730 */   492,  582,   32,  479,  200,  792,  168,  418,  437,  435,
 /*   740 */   422,  380,   73,  827,  406,  429,    5,   46,  430,  634,
 /*   750 */   441,  583,  434,  108,  807,  475,   58,   47,  324,  265,
 /*   760 */   269,  333,  808,  107,  760,  759,  716,  714,  713,  117,
 /*   770 */   334,  328,  417,  346,  752,  359,  316,  825,  786,  339,
 /*   780 */   216,  238,  229,  304,  596,  327,  214,  317,  215,  315,
 /*   790 */   141,  780,  754,   81,  309,  217,   81,  104,  162,  105,
 /*   800 */    71,  608,   72,  195,  191,  746,   98,   95,  125,   92,
 /*   810 */    96,  384,  210,  359,  353,  386,  355,  396,  310,   81,
 /*   820 */    83,    5,   82,  637,  638,  639,  584,  665,  219,    1,
 /*   830 */   436,  670,  624,  626,  243,  232,  228,  398,  372,  375,
 /*   840 */   254,  273,  463,   49,  598,    5,    5,  650,  649,  666,
 /*   850 */   153,  689,  139,  138,  641,  354,   10,  592,  647,  174,
 /*   860 */   438,  208,  821,    5,  275,   13,  661,  646,  593,  220,
 /*   870 */   428,  555,  224,  395,  236,  393,   63,  800,    5,  187,
 /*   880 */    90,  306,  727,  730,  163,  743,  241,  605,  334,  756,
 /*   890 */   731,  715,  717,  359,  287,  292,  312,  331,  330,  326,
 /*   900 */   318,  246,  256,  244,  345,  612,  186,  112,  677,  691,
 /*   910 */   429,  387,  352,   99, 1131,  111,   93,  594,  418,  148,
 /*   920 */    94,  142,  223,  132,  805,  225,   40, 1125,  380,  668,
 /*   930 */    17,  698,   91,  380,   91,  430,  290,  810,  184,  811,
 /*   940 */   822,  823,  325,  619,   26,  492,  380,   32,  479,  200,
 /*   950 */   792,  168,    6,  437,  359,    5,  231,  349,  827,  406,
 /*   960 */     5,  679,  275,  275,  634,  441,  550,  434,  108,  807,
 /*   970 */   475,   58,   47,  359,   63,   84,  333,  808,  107,  760,
 /*   980 */   759,  716,  714,  713,  117,  172,  307,  801,  635,  473,
 /*   990 */   569,  369,  429,   29,  454,  557,  238,  595,  304,   54,
 /*  1000 */   327,  719,  317,  215,  430,  141,  723,  218,  578,   39,
 /*  1010 */   217,  560,  104,  162,  105,  476,  608,  258,  195,  191,
 /*  1020 */   746,   98,   95,  125,   92,   96,  384,  722,   30,  353,
 /*  1030 */   386,  355,  396,  465,  494,  498,  530,   34,  637,  638,
 /*  1040 */   639,  584,  665,  219,   16,  436,  670,  624,  626,  451,
 /*  1050 */   504,  228,  101,  372,  375,  496,  380,  516,  466,  499,
 /*  1060 */   663,  503,  650,  649,  666,  153,  689,  139,  138,  641,
 /*  1070 */   354,    9,  360,  647,  174,  438,  208,  821,  447,  662,
 /*  1080 */    13,  690,  654,  593,  220,  428,  313,  224,  642,  518,
 /*  1090 */   393,  464,  553,  563,  187,   90,  547,  727,  730,  163,
 /*  1100 */   743,  241,  481,  548,  756,  731,   37,   55,   62,   64,
 /*  1110 */    65,   57,   61,   51,   50,   56,   53,   66,  585,  487,
 /*  1120 */   612,  186,  112,  493,  681,  495,  521,  102,   99,  545,
 /*  1130 */   111,   93,  520,  471,  628,   94,  142,  223,  132,   15,
 /*  1140 */   225,   40, 1126,  404, 1130,   17,  272,  283,  625,  443,
 /*  1150 */   554,  358,  300,  184,  811,  822,  823,  325,  619,   26,
 /*  1160 */   492,  311,   32,  479,  200,  792,  168,  279,  437,  425,
 /*  1170 */   271,  470,  366,  827,  406,  570,  486,  568,  571,  634,
 /*  1180 */   441,  472,  434,  108,  807,  475,   58,   47,  255,  245,
 /*  1190 */   266,  333,  808,  107,  760,  759,  716,  714,  713,  117,
 /*  1200 */   469,  450,    4,  549,  462,  461,  559,  482,  483,  541,
 /*  1210 */    70,  238,  460,  304,  282,  327,  543,  317,  215,  577,
 /*  1220 */   141,  540,  293,  711,  497,  217,  579,  104,  162,  105,
 /*  1230 */   710,  608,  236,  195,  191,  746,   98,   95,  125,   92,
 /*  1240 */    96,  384,   68,   42,  353,  386,  355,  396,  302,  120,
 /*  1250 */   489,  346,  130,  637,  638,  639,  584,  665,  219,  480,
 /*  1260 */   436,  670,  624,  626,  542,  334,  228,  336,  372,  375,
 /*  1270 */    59,   69,  270,  484,  729,  448,  474,  650,  649,  666,
 /*  1280 */   153,  689,  139,  138,  641,  354,   24,  453,  647,  174,
 /*  1290 */   438,  208,  821,  564,  251,   13,  239,  419,  593,  220,
 /*  1300 */   428,   67,  224,  561,   35,   49,  424,  394,   33,  187,
 /*  1310 */    90,  106,  727,  730,  163,  743,  241,  360,  643,  756,
 /*  1320 */   731,  565,  477,  418,  478,  362,  365,  395,  350,  393,
 /*  1330 */   347,  389,  361,  397,  485,  612,  186,  112,  558,  424,
 /*  1340 */    28,  587,  517,   99,  562,  111,   93,  581,   38,  817,
 /*  1350 */    94,  142,  223,  132,   36,  225,   40,  321,  250,  525,
 /*  1360 */    17,  457,  100,  128,  794,  529,  794,  509,  184,  811,
 /*  1370 */   822,  823,  325,  619,   26,  492,  114,   32,  479,  200,
 /*  1380 */   792,  168,   60,  437,  589,  467,  491,   31,  827,  406,
 /*  1390 */   588,  580,  527,  523,  634,  441,   41,  434,  108,  807,
 /*  1400 */   475,   58,   47,  524,  640,  515,  333,  808,  107,  760,
 /*  1410 */   759,  716,  714,  713,  117,  544,  131,  121,  285,  129,
 /*  1420 */   285,  129,  511,  539,  165,  514,  238,   63,  304,   86,
 /*  1430 */   327,   86,  317,  215,  522,  141,  452,  803,  167,  103,
 /*  1440 */   217,  455,  104,  162,  105,  528,  608,  512,  195,  191,
 /*  1450 */   746,   98,   95,  125,   92,   96,  384,  698,  574,  353,
 /*  1460 */   386,  355,  396,  337,  575,  537,  502,  534,  637,  638,
 /*  1470 */   639,  584,  665,  219,  659,  436,  670,  624,  626,  505,
 /*  1480 */   680,  228,  706,  372,  375,  323,  533,  323,  720,  506,
 /*  1490 */   501,  535,  650,  649,  666,  153,  689,  139,  138,  641,
 /*  1500 */   354,   12,  676,  647,  174,  438,  208,  821,  572,  500,
 /*  1510 */    13,  658,   27,  593,  220,  428,  700,  224,  536,  510,
 /*  1520 */   685,  519,  328,  507,  187,   90,  538,  727,  730,  163,
 /*  1530 */   743,  241,  799,  826,  756,  731,  508,  678,  532,  335,
 /*  1540 */   812,  672,  813,  449,  526,  576,  459,  456,  917,  917,
 /*  1550 */   612,  186,  112,  356,  917,  364,  917,  917,   99,  917,
 /*  1560 */   111,   93,  917,  917,  917,   94,  142,  223,  132,  917,
 /*  1570 */   225,   40,  917,  917,  917,   17,  917,  917,  917,  794,
 /*  1580 */   917,  917,  917,  184,  811,  822,  823,  325,  619,   26,
 /*  1590 */   492,  917,   32,  479,  200,  792,  168,  917,  437,  917,
 /*  1600 */   917,  917,  917,  827,  406,  917,  917,  917,  917,  634,
 /*  1610 */   441,  917,  434,  108,  807,  475,   58,   47,  917,  917,
 /*  1620 */   917,  333,  808,  107,  760,  759,  716,  714,  713,  117,
 /*  1630 */   917,  917,  693,  320,  123,  709,  170,  917,  917,  917,
 /*  1640 */   917,  238,  917,  304,   86,  327,  917,  317,  215,  917,
 /*  1650 */   141,  917,  917,  917,  917,  217,  917,  104,  162,  105,
 /*  1660 */   917,  608,  917,  195,  191,  746,   98,   95,  125,   92,
 /*  1670 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /*  1680 */   917,  917,  917,  637,  638,  639,  584,  665,  219,  917,
 /*  1690 */   436,  670,  624,  626,  917,  917,  228,  917,  372,  375,
 /*  1700 */   323,  917,  917,  917,  917,  917,  917,  650,  649,  666,
 /*  1710 */   153,  689,  139,  138,  641,  354,    8,  917,  647,  174,
 /*  1720 */   438,  208,  821,  917,  917,   13,  917,  313,  593,  220,
 /*  1730 */   428,  917,  224,  917,  917,  917,  917,  917,  917,  187,
 /*  1740 */    90,  917,  727,  730,  163,  743,  241,  917,  917,  756,
 /*  1750 */   731,  334,  328,  917,  429,  793,  359,  917,  917,  917,
 /*  1760 */   917,  917,  917,  917,  917,  612,  186,  112,  917,  917,
 /*  1770 */   917,  917,  917,   99,  917,  111,   93,  917,  917,  917,
 /*  1780 */    94,  142,  223,  132,  917,  225,   40,  917,  917,  917,
 /*  1790 */    17,  917,  917,  917,  794,  917,  794,  319,  184,  811,
 /*  1800 */   822,  823,  325,  619,   26,  492,  917,   32,  479,  200,
 /*  1810 */   792,  168,  917,  437,  917,  917,  917,  917,  827,  406,
 /*  1820 */   917,  917,  917,  917,  634,  441,  305,  434,  108,  807,
 /*  1830 */   475,   58,   47,  917,  917,  917,  333,  808,  107,  760,
 /*  1840 */   759,  716,  714,  713,  117,  917,  917,  917,  285,  129,
 /*  1850 */   285,  129,  917,  917,  917,  917,  238,  917,  304,   86,
 /*  1860 */   327,   86,  317,  215,  917,  141,  917,  917,  917,  917,
 /*  1870 */   217,  917,  104,  162,  105,  917,  608,  917,  195,  191,
 /*  1880 */   746,   98,   95,  125,   92,   96,  384,  917,  917,  353,
 /*  1890 */   386,  355,  396,  917,  917,  917,  917,  917,  637,  638,
 /*  1900 */   639,  584,  665,  219,  917,  436,  670,  624,  626,  917,
 /*  1910 */   917,  228,  917,  372,  375,  323,  917,  323,  917,  917,
 /*  1920 */   917,  917,  650,  649,  666,  153,  689,  139,  138,  641,
 /*  1930 */   354,  623,  174,  438,  208,  821,  917,  917,   13,  656,
 /*  1940 */   313,  593,  220,  428,  917,  224,  917,  917,  917,  917,
 /*  1950 */   917,  917,  187,   90,  917,  727,  730,  163,  743,  241,
 /*  1960 */   917,  917,  756,  731,  334,  328,  424,  429,  917,  359,
 /*  1970 */   819,  917,  793,  917,  917,  917,  917,  917,  612,  186,
 /*  1980 */   112,  917,  917,  917,  917,  917,   99,  917,  111,   93,
 /*  1990 */   917,  917,  917,   94,  142,  223,  132,  917,  225,   40,
 /*  2000 */   917,  917,  917,   17,  917,  917,  917,  917,  917,  917,
 /*  2010 */   319,  184,  811,  822,  823,  325,  619,   26,  492,  917,
 /*  2020 */    32,  479,  200,  792,  168,  917,  437,  917,  917,  917,
 /*  2030 */   917,  827,  406,  917,  917,  917,  917,  634,  441,  917,
 /*  2040 */   434,  108,  807,  475,   58,   47,  917,  917,  917,  333,
 /*  2050 */   808,  107,  760,  759,  716,  714,  713,  117,  917,  917,
 /*  2060 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  238,
 /*  2070 */   917,  304,  917,  327,  917,  317,  215,  917,  141,  917,
 /*  2080 */   917,  917,  917,  217,  917,  104,  162,  105,  917,  608,
 /*  2090 */   917,  195,  191,  746,   98,   95,  125,   92,   96,  384,
 /*  2100 */   917,  917,  353,  386,  355,  396,  917,  917,  917,  917,
 /*  2110 */   917,  637,  638,  639,  584,  665,  219,  917,  436,  670,
 /*  2120 */   624,  626,  917,  917,  228,  917,  372,  375,  917,  917,
 /*  2130 */   917,  917,  917,  917,  917,  650,  649,  666,  153,  689,
 /*  2140 */   139,  138,  641,  354,   22,  917,  647,  174,  438,  208,
 /*  2150 */   821,  917,  917,   13,  917,  917,  593,  220,  428,  917,
 /*  2160 */   224,  917,  917,  917,  917,  917,  917,  187,   90,  917,
 /*  2170 */   727,  730,  163,  743,  241,  917,  917,  756,  731,  917,
 /*  2180 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  2190 */   917,  917,  917,  612,  186,  112,  917,  917,  917,  917,
 /*  2200 */   917,   99,  917,  111,   93,  917,  917,  917,   94,  142,
 /*  2210 */   223,  132,  917,  225,   40,  917,  917,  917,   17,  917,
 /*  2220 */   917,  917,  917,  917,  917,  917,  184,  811,  822,  823,
 /*  2230 */   325,  619,   26,  492,  917,   32,  479,  200,  792,  168,
 /*  2240 */   917,  437,  917,  917,  917,  917,  827,  406,  917,  917,
 /*  2250 */   917,  917,  634,  441,  917,  434,  108,  807,  475,   58,
 /*  2260 */    47,  917,  917,  917,  333,  808,  107,  760,  759,  716,
 /*  2270 */   714,  713,  117,  917,  917,  917,  917,  917,  917,  917,
 /*  2280 */   917,  917,  917,  917,  238,  917,  304,  917,  327,  917,
 /*  2290 */   317,  215,  917,  141,  917,  917,  917,  917,  217,  917,
 /*  2300 */   104,  162,  105,  917,  608,  917,  195,  191,  746,   98,
 /*  2310 */    95,  125,   92,   96,  384,  917,  917,  353,  386,  355,
 /*  2320 */   396,  917,  917,  917,  917,  917,  637,  638,  639,  584,
 /*  2330 */   665,  219,  917,  436,  670,  624,  626,  917,  917,  228,
 /*  2340 */   917,  372,  375,  917,  917,  917,  917,  917,  917,  917,
 /*  2350 */   650,  649,  666,  153,  689,  139,  138,  641,  354,   19,
 /*  2360 */   917,  647,  174,  438,  208,  821,  917,  917,   13,  917,
 /*  2370 */   917,  593,  220,  428,  917,  224,  917,  917,  917,  917,
 /*  2380 */   917,  917,  187,   90,  917,  727,  730,  163,  743,  241,
 /*  2390 */   917,  917,  756,  731,  917,  917,  917,  917,  917,  917,
 /*  2400 */   917,  917,  917,  917,  917,  917,  917,  917,  612,  186,
 /*  2410 */   112,  917,  917,  917,  917,  917,   99,  917,  111,   93,
 /*  2420 */   917,  917,  917,   94,  142,  223,  132,  917,  225,   40,
 /*  2430 */   917,  917,  917,   17,  917,  917,  917,  917,  917,  917,
 /*  2440 */   917,  184,  811,  822,  823,  325,  619,   26,  492,  917,
 /*  2450 */    32,  479,  200,  792,  168,  917,  437,  917,  917,  917,
 /*  2460 */   917,  827,  406,  917,  917,  917,  917,  634,  441,  917,
 /*  2470 */   434,  108,  807,  475,   58,   47,  917,  917,  917,  333,
 /*  2480 */   808,  107,  760,  759,  716,  714,  713,  117,  917,  917,
 /*  2490 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  238,
 /*  2500 */   917,  304,  917,  327,  917,  317,  215,  917,  141,  917,
 /*  2510 */   917,  917,  917,  217,  917,  104,  162,  105,  917,  608,
 /*  2520 */   917,  195,  191,  746,   98,   95,  125,   92,   96,  384,
 /*  2530 */   917,  917,  353,  386,  355,  396,  917,  917,  917,  917,
 /*  2540 */   917,  637,  638,  639,  584,  665,  219,  917,  436,  670,
 /*  2550 */   624,  626,  917,  917,  228,  917,  372,  375,  917,  917,
 /*  2560 */   917,  917,  917,  917,  917,  650,  649,  666,  153,  689,
 /*  2570 */   139,  138,  641,  354,   21,  917,  647,  174,  438,  208,
 /*  2580 */   821,  917,  917,   13,  917,  917,  593,  220,  428,  917,
 /*  2590 */   224,  917,  917,  917,  917,  917,  917,  187,   90,  917,
 /*  2600 */   727,  730,  163,  743,  241,  917,  917,  756,  731,  917,
 /*  2610 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  2620 */   917,  917,  917,  612,  186,  112,  917,  917,  917,  917,
 /*  2630 */   917,   99,  917,  111,   93,  917,  917,  917,   94,  142,
 /*  2640 */   223,  132,  917,  225,   40,  917,  917,  917,   17,  917,
 /*  2650 */   917,  917,  917,  917,  917,  917,  184,  811,  822,  823,
 /*  2660 */   325,  619,   26,  492,  917,   32,  479,  200,  792,  168,
 /*  2670 */   917,  437,  917,  917,  917,  917,  827,  406,  917,  917,
 /*  2680 */   917,  917,  634,  441,  917,  434,  108,  807,  475,   58,
 /*  2690 */    47,  917,  917,  917,  333,  808,  107,  760,  759,  716,
 /*  2700 */   714,  713,  117,  917,  917,  917,  917,  917,  917,  917,
 /*  2710 */   917,  917,  917,  917,  238,  917,  304,  917,  327,  917,
 /*  2720 */   317,  215,  917,  141,  917,  917,  917,  917,  217,  917,
 /*  2730 */   104,  162,  105,  917,  608,  917,  195,  191,  746,   98,
 /*  2740 */    95,  125,   92,   96,  384,  917,  917,  353,  386,  355,
 /*  2750 */   396,  917,  917,  917,  917,  917,  637,  638,  639,  584,
 /*  2760 */   665,  219,  917,  436,  670,  624,  626,  917,  917,  228,
 /*  2770 */   917,  372,  375,  917,  917,  917,  917,  917,  917,  917,
 /*  2780 */   650,  649,  666,  153,  689,  139,  138,  641,  354,    3,
 /*  2790 */   917,  647,  174,  438,  208,  821,  917,  917,   13,  917,
 /*  2800 */   917,  593,  220,  428,  917,  224,  917,  917,  917,  917,
 /*  2810 */   917,  917,  187,   90,  917,  727,  730,  163,  743,  241,
 /*  2820 */   917,  917,  756,  731,  917,  917,  917,  917,  917,  917,
 /*  2830 */   917,  917,  917,  917,  917,  917,  917,  917,  612,  186,
 /*  2840 */   112,  917,  917,  917,  917,  917,   99,  917,  111,   93,
 /*  2850 */   917,  917,  917,   94,  142,  223,  132,  917,  225,   40,
 /*  2860 */   917,  917,  917,   17,  917,  917,  917,  917,  917,  917,
 /*  2870 */   917,  184,  811,  822,  823,  325,  619,   26,  492,  917,
 /*  2880 */    32,  479,  200,  792,  168,  917,  437,  917,  917,  917,
 /*  2890 */   917,  827,  406,  917,  917,  917,  917,  634,  441,  917,
 /*  2900 */   434,  108,  807,  475,   58,   47,  917,  917,  917,  333,
 /*  2910 */   808,  107,  760,  759,  716,  714,  713,  117,  917,  917,
 /*  2920 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  238,
 /*  2930 */   917,  304,  917,  327,  917,  317,  215,  917,  141,  917,
 /*  2940 */   917,  917,  917,  217,  917,  104,  162,  105,  917,  608,
 /*  2950 */   917,  195,  191,  746,   98,   95,  125,   92,   96,  384,
 /*  2960 */   917,  917,  353,  386,  355,  396,  917,  917,  917,  917,
 /*  2970 */   917,  637,  638,  639,  584,  665,  219,  917,  436,  670,
 /*  2980 */   624,  626,  917,  917,  228,  917,  372,  375,  917,  917,
 /*  2990 */   917,  917,  917,  917,  917,  650,  649,  666,  153,  689,
 /*  3000 */   139,  138,  641,  354,   23,  917,  647,  174,  438,  208,
 /*  3010 */   821,  917,  917,   13,  917,  917,  593,  220,  428,  917,
 /*  3020 */   224,  917,  917,  917,  917,  917,  917,  187,   90,  917,
 /*  3030 */   727,  730,  163,  743,  241,  917,  917,  756,  731,  917,
 /*  3040 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  3050 */   917,  917,  917,  612,  186,  112,  917,  917,  917,  917,
 /*  3060 */   917,   99,  917,  111,   93,  917,  917,  917,   94,  142,
 /*  3070 */   223,  132,  917,  225,   40,  917,  917,  917,   17,  917,
 /*  3080 */   917,  917,  917,  917,  917,  917,  184,  811,  822,  823,
 /*  3090 */   325,  619,   26,  492,  917,   32,  479,  200,  792,  168,
 /*  3100 */   917,  437,  917,  917,  917,  917,  827,  406,  917,  917,
 /*  3110 */   917,  917,  634,  441,  917,  434,  108,  807,  475,   58,
 /*  3120 */    47,  917,  917,  917,  333,  808,  107,  760,  759,  716,
 /*  3130 */   714,  713,  117,  917,  917,  917,  917,  917,  917,  917,
 /*  3140 */   917,  917,  917,  917,  238,  917,  304,  917,  327,  917,
 /*  3150 */   317,  215,  917,  141,  917,  917,  917,  917,  217,  917,
 /*  3160 */   104,  162,  105,  917,  608,  917,  195,  191,  746,   98,
 /*  3170 */    95,  125,   92,   96,  384,  917,  917,  353,  386,  355,
 /*  3180 */   396,  917,  917,  917,  917,  917,  637,  638,  639,  584,
 /*  3190 */   665,  219,  917,  436,  670,  624,  626,  917,  917,  228,
 /*  3200 */   917,  372,  375,  917,  917,  917,  917,  917,  917,  917,
 /*  3210 */   650,  649,  666,  153,  689,  139,  138,  641,  354,  623,
 /*  3220 */   174,  438,  208,  821,  917,  917,   13,  783,  917,  593,
 /*  3230 */   220,  428,  917,  224,  917,  917,  917,  917,  917,  917,
 /*  3240 */   187,   90,  917,  727,  730,  163,  743,  241,  917,  917,
 /*  3250 */   756,  731,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  3260 */   917,  917,  917,  917,  917,  917,  612,  186,  112,  917,
 /*  3270 */   917,  917,  917,  917,   99,  917,  111,   93,  917,  917,
 /*  3280 */   917,   94,  142,  223,  132,  917,  225,   40,  917,  917,
 /*  3290 */   917,   17,  917,  917,  917,  917,  917,  917,  917,  184,
 /*  3300 */   811,  822,  823,  325,  619,   26,  492,  917,   32,  479,
 /*  3310 */   200,  792,  168,  917,  437,  917,  917,  917,  917,  827,
 /*  3320 */   406,  917,  917,  917,  917,  634,  441,  917,  434,  108,
 /*  3330 */   807,  475,   58,   47,  917,  917,  917,  333,  808,  107,
 /*  3340 */   760,  759,  716,  714,  713,  117,  917,  917,  917,  917,
 /*  3350 */   917,  917,  917,  917,  917,  917,  917,  238,  917,  304,
 /*  3360 */   917,  327,  917,  317,  215,  917,  141,  917,  917,  917,
 /*  3370 */   917,  217,  917,  104,  162,  105,  917,  608,  917,  195,
 /*  3380 */   191,  746,   98,   95,  125,   92,   96,  384,  917,  917,
 /*  3390 */   353,  386,  355,  396,  917,  917,  917,  917,  917,  637,
 /*  3400 */   638,  639,  584,  665,  219,  917,  436,  670,  624,  626,
 /*  3410 */   917,  917,  228,  917,  372,  375,  917,  917,  917,  917,
 /*  3420 */   917,  917,  917,  650,  649,  666,  153,  689,  139,  138,
 /*  3430 */   641,  354,   25,  917,  647,  174,  438,  208,  821,  917,
 /*  3440 */   917,   13,  917,  917,  593,  220,  428,  917,  224,  917,
 /*  3450 */   917,  917,  917,  917,  917,  187,   90,  917,  727,  730,
 /*  3460 */   163,  743,  241,  917,  917,  756,  731,  917,  917,  917,
 /*  3470 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  3480 */   917,  612,  186,  112,  917,  917,  917,  917,  917,   99,
 /*  3490 */   917,  111,   93,  917,  917,  917,   94,  142,  223,  132,
 /*  3500 */   917,  225,   40,  917,  917,  917,   17,  917,  917,  917,
 /*  3510 */   917,  917,  917,  917,  184,  811,  822,  823,  325,  619,
 /*  3520 */    26,  492,  917,   32,  479,  200,  792,  168,  917,  437,
 /*  3530 */   917,  917,  917,  917,  827,  406,  917,  917,  917,  917,
 /*  3540 */   634,  441,  917,  434,  108,  807,  475,   58,   47,  917,
 /*  3550 */   917,  917,  333,  808,  107,  760,  759,  716,  714,  713,
 /*  3560 */   117,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  3570 */   917,  917,  238,  917,  304,  917,  327,  917,  317,  215,
 /*  3580 */   917,  141,  917,  917,  917,  917,  217,  917,  104,  162,
 /*  3590 */   105,  917,  608,  917,  195,  191,  746,   98,   95,  125,
 /*  3600 */    92,   96,  384,  917,  917,  353,  386,  355,  396,  917,
 /*  3610 */   917,  917,  917,  917,  637,  638,  639,  584,  665,  219,
 /*  3620 */   917,  436,  670,  624,  626,  917,  917,  228,  917,  372,
 /*  3630 */   375,  917,  917,  917,  917,  917,  917,  917,  650,  649,
 /*  3640 */   666,  153,  689,  139,  138,  641,  354,  623,  174,  438,
 /*  3650 */   208,  821,  917,  917,   13,  804,  917,  593,  220,  428,
 /*  3660 */   917,  224,  917,  917,  917,  917,  917,  917,  187,   90,
 /*  3670 */   917,  727,  730,  163,  743,  241,  917,  917,  756,  731,
 /*  3680 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  3690 */   917,  917,  917,  917,  612,  186,  112,  917,  917,  917,
 /*  3700 */   917,  917,   99,  917,  111,   93,  917,  917,  917,   94,
 /*  3710 */   142,  223,  132,  917,  225,   40,  917,  917,  917,   17,
 /*  3720 */   917,  917,  917,  917,  917,  917,  917,  184,  811,  822,
 /*  3730 */   823,  325,  619,   26,  492,  917,   32,  479,  200,  792,
 /*  3740 */   168,  917,  437,  917,  917,  917,  917,  827,  406,  917,
 /*  3750 */   917,  917,  917,  634,  441,  917,  434,  108,  807,  475,
 /*  3760 */    58,   47,  917,  917,  917,  333,  808,  107,  760,  759,
 /*  3770 */   716,  714,  713,  117,  917,  917,  917,  917,  917,  917,
 /*  3780 */   917,  917,  917,  917,  917,  238,  917,  304,  917,  327,
 /*  3790 */   917,  317,  215,  917,  141,  917,  917,  917,  917,  217,
 /*  3800 */   917,  104,  162,  105,  917,  608,  917,  195,  191,  746,
 /*  3810 */    98,   95,  125,   92,   96,  384,  917,  917,  353,  386,
 /*  3820 */   355,  396,  917,  917,  917,  917,  917,  637,  638,  639,
 /*  3830 */   584,  665,  219,  917,  436,  670,  624,  626,  917,  917,
 /*  3840 */   228,  917,  372,  375,  917,  917,  917,  917,  917,  917,
 /*  3850 */   917,  650,  649,  666,  153,  689,  139,  138,  641,  354,
 /*  3860 */   623,  174,  438,  208,  821,  917,  917,   13,  591,  917,
 /*  3870 */   593,  220,  428,  917,  224,  917,  917,  917,  917,  917,
 /*  3880 */   917,  187,   90,  917,  727,  730,  163,  743,  241,  917,
 /*  3890 */   917,  756,  731,  917,  917,  917,  917,  917,  917,  917,
 /*  3900 */   917,  917,  917,  917,  917,  917,  917,  612,  186,  112,
 /*  3910 */   917,  917,  917,  917,  917,   99,  917,  111,   93,  917,
 /*  3920 */   917,  917,   94,  142,  223,  132,  917,  225,   40,  917,
 /*  3930 */   917,  917,   17,  917,  917,  917,  917,  917,  917,  917,
 /*  3940 */   184,  811,  822,  823,  325,  619,   26,  492,  917,   32,
 /*  3950 */   479,  200,  792,  168,  917,  437,  917,  917,  917,  917,
 /*  3960 */   827,  406,  917,  917,  917,  917,  634,  441,  917,  434,
 /*  3970 */   108,  807,  475,   58,   47,  917,  917,  917,  333,  808,
 /*  3980 */   107,  760,  759,  716,  714,  713,  117,  917,  917,  917,
 /*  3990 */   917,  917,  917,  917,  917,  917,  917,  917,  238,  917,
 /*  4000 */   304,  917,  327,  917,  317,  215,  917,  141,  917,  917,
 /*  4010 */   917,  917,  217,  917,  104,  162,  105,  917,  608,  917,
 /*  4020 */   195,  191,  746,   98,   95,  125,   92,   96,  384,  917,
 /*  4030 */   917,  353,  386,  355,  396,  917,  917,  917,  917,  917,
 /*  4040 */   637,  638,  639,  584,  665,  219,  917,  436,  670,  624,
 /*  4050 */   626,  917,  917,  228,  917,  372,  375,  917,  917,  917,
 /*  4060 */   917,  917,  917,  917,  650,  649,  666,  153,  689,  139,
 /*  4070 */   138,  641,  354,  623,  174,  438,  208,  821,  917,  917,
 /*  4080 */    13,  917,  917,  593,  220,  428,  917,  224,  917,  917,
 /*  4090 */   917,  917,  917,  917,  187,   90,  917,  727,  730,  163,
 /*  4100 */   743,  241,  917,  917,  756,  731,  917,  917,  917,  917,
 /*  4110 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  4120 */   612,  186,  112,  917,  917,  917,  917,  917,   99,  917,
 /*  4130 */   111,   93,  917,  917,  917,   94,  142,  223,  132,  917,
 /*  4140 */   225,   40,  917,  917,  917,   17,  917,  917,  917,  917,
 /*  4150 */   917,  917,  917,  184,  811,  822,  823,  325,  619,   26,
 /*  4160 */   492,  917,   32,  479,  200,  792,  168,  917,  437,  917,
 /*  4170 */   917,  917,  917,  827,  406,  917,  917,  917,  917,  634,
 /*  4180 */   441,  917,  434,  108,  807,  475,   58,   47,  917,  917,
 /*  4190 */   917,  333,  808,  107,  760,  759,  716,  714,  713,  117,
 /*  4200 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  4210 */   917,  238,  917,  304,  917,  327,  917,  317,  215,  917,
 /*  4220 */   141,  917,  917,  917,  917,  217,  917,  104,  162,  105,
 /*  4230 */   917,  608,  917,  195,  191,  746,   98,   95,  125,   92,
 /*  4240 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /*  4250 */   917,  917,  917,  637,  638,  639,  584,  665,  219,  917,
 /*  4260 */   436,  670,  624,  626,  917,  917,  228,  917,  372,  375,
 /*  4270 */   917,  917,  917,  917,  917,  917,  917,  650,  649,  666,
 /*  4280 */   153,  689,  139,  138,  641,  354,  174,  438,  208,  814,
 /*  4290 */   917,  917,   13,  917,  917,  593,  220,  428,  917,  224,
 /*  4300 */   917,  917,  917,  917,  917,  917,  187,  145,  917,  727,
 /*  4310 */   730,  360,  743,  241,  917,  917,  756,  731,  917,  362,
 /*  4320 */   365,  395,  350,  393,  347,  389,  361,  397,  917,  917,
 /*  4330 */   917,  334,  612,  424,  119,  917,  917,  917,  917,  917,
 /*  4340 */    99,  917,  111,   93,  917,  917,  917,   97,  142,  917,
 /*  4350 */   146,  917,  917,   40,  917,  917,  917,  917,  917,  917,
 /*  4360 */   917,  917,  917,  917,  917,  917,  794,  917,  823,  325,
 /*  4370 */   619,   26,  492,  917,   32,  479,  200,  792,  168,  917,
 /*  4380 */   437,  917,  917,  917,  917,  827,  406,  917,  917,  917,
 /*  4390 */   917,  634,  441,  917,  434,  108,  807,  475,   58,   47,
 /*  4400 */   917,  917,  917,  333,  808,  107,  760,  759,  716,  714,
 /*  4410 */   713,  117,  917,  917,  204,  917,  917,  917,  131,  917,
 /*  4420 */   285,  129,  917,  238,  917,  304,  917,  327,  917,  317,
 /*  4430 */   215,   86,  141,  917,  917,  917,  917,  217,  917,  104,
 /*  4440 */   162,  105,  917,  608,  917,  195,  191,  746,   98,   95,
 /*  4450 */   125,   92,   96,  384,  917,  917,  353,  386,  355,  396,
 /*  4460 */   917,  917,  917,  917,  917,  637,  638,  639,  584,  665,
 /*  4470 */   219,  917,  436,  670,  624,  626,  917,  917,  228,  917,
 /*  4480 */   372,  375,  917,  917,  917,  917,  917,  323,  917,  650,
 /*  4490 */   649,  666,  153,  689,  139,  138,  641,  354,  174,  438,
 /*  4500 */   208,  633,  917,  917,   13,  917,  917,  593,  220,  428,
 /*  4510 */   917,  224,  917,  917,  917,  917,  917,  917,  187,  145,
 /*  4520 */   917,  727,  730,  917,  743,  241,  917,  917,  756,  731,
 /*  4530 */   917,  917,  917,  917,  917,  917,  917,  917,  766,  917,
 /*  4540 */   917,  771,  812,  917,  612,  917,  119,  917,  917,  917,
 /*  4550 */   917,  917,   99,  917,  111,   93,  917,  917,  917,   97,
 /*  4560 */   142,  917,  146,  917,  917,   40,  917,  917,  917,  917,
 /*  4570 */   917,  917,  917,  917,  917,  917,  917,  917,  794,  917,
 /*  4580 */   823,  325,  619,   26,  492,  917,   32,  479,  200,  792,
 /*  4590 */   168,  917,  437,  917,  917,  917,  917,  827,  406,  917,
 /*  4600 */   917,  917,  917,  634,  441,  917,  434,  108,  807,  475,
 /*  4610 */    58,   47,  917,  917,  917,  333,  808,  107,  760,  759,
 /*  4620 */   716,  714,  713,  117,  917,  917,  230,  917,  917,  917,
 /*  4630 */   131,  917,  285,  129,  917,  238,  917,  304,  917,  327,
 /*  4640 */   917,  317,  215,   86,  141,  917,  917,  917,  917,  217,
 /*  4650 */   917,  104,  162,  105,  917,  608,  917,  195,  191,  746,
 /*  4660 */    98,   95,  125,   92,   96,  384,  917,  917,  353,  386,
 /*  4670 */   355,  396,  917,  917,  917,  917,  917,  637,  638,  639,
 /*  4680 */   584,  665,  219,  917,  436,  670,  624,  626,  917,  917,
 /*  4690 */   228,  917,  372,  375,  917,  917,  917,  917,  917,  323,
 /*  4700 */   917,  650,  649,  666,  153,  689,  139,  138,  641,  354,
 /*  4710 */   174,  438,  208,  774,  917,  917,   13,  917,  917,  593,
 /*  4720 */   220,  428,  917,  224,  917,  917,  917,  917,  917,  917,
 /*  4730 */   187,  145,  917,  727,  730,  917,  743,  241,  917,  917,
 /*  4740 */   756,  731,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  4750 */   917,  917,  917,  771,  812,  917,  612,  917,  119,  917,
 /*  4760 */   917,  917,  917,  917,   99,  917,  111,   93,  917,  917,
 /*  4770 */   917,   97,  142,  917,  146,  917,  917,   40,  917,  917,
 /*  4780 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  4790 */   917,  917,  823,  325,  619,   26,  492,  917,   32,  479,
 /*  4800 */   200,  792,  168,  917,  437,  917,  917,  917,  917,  827,
 /*  4810 */   406,  917,  917,  917,  917,  634,  441,  917,  434,  108,
 /*  4820 */   807,  475,   58,   47,  917,  917,  917,  333,  808,  107,
 /*  4830 */   760,  759,  716,  714,  713,  117,  917,  917,  917,  917,
 /*  4840 */   917,  917,  917,  917,  917,  917,  917,  238,  917,  304,
 /*  4850 */   917,  327,  917,  317,  215,  917,  141,  917,  917,  917,
 /*  4860 */   917,  217,  917,  104,  162,  105,  917,  608,  917,  195,
 /*  4870 */   191,  746,   98,   95,  125,   92,   96,  384,  917,  917,
 /*  4880 */   353,  386,  355,  396,  917,  917,  917,  917,  917,  637,
 /*  4890 */   638,  639,  584,  665,  219,  917,  436,  670,  624,  626,
 /*  4900 */   917,  917,  228,  917,  372,  375,  917,  917,  917,  917,
 /*  4910 */   917,  917,  917,  650,  649,  666,  153,  689,  139,  138,
 /*  4920 */   641,  354,  174,  438,  208,  599,  917,  917,   13,  917,
 /*  4930 */   917,  593,  220,  428,  917,  224,  917,  917,  917,  917,
 /*  4940 */   917,  917,  187,  145,  917,  727,  730,  917,  743,  241,
 /*  4950 */   917,  917,  756,  731,  917,  917,  917,  917,  917,  917,
 /*  4960 */   917,  917,  917,  917,  917,  917,  917,  917,  612,  917,
 /*  4970 */   119,  917,  917,  917,  917,  917,   99,  917,  111,   93,
 /*  4980 */   917,  917,  917,   97,  142,  917,  146,  917,  917,   40,
 /*  4990 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  5000 */   917,  917,  917,  917,  823,  325,  619,   26,  492,  917,
 /*  5010 */    32,  479,  200,  792,  168,  917,  437,  917,  917,  917,
 /*  5020 */   917,  827,  406,  917,  917,  917,  917,  634,  441,  917,
 /*  5030 */   434,  108,  807,  475,   58,   47,  917,  917,  917,  333,
 /*  5040 */   808,  107,  760,  759,  716,  714,  713,  117,  917,  917,
 /*  5050 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  238,
 /*  5060 */   917,  304,  917,  327,  917,  317,  215,  917,  141,  917,
 /*  5070 */   917,  917,  917,  217,  917,  104,  162,  105,  917,  608,
 /*  5080 */   917,  195,  191,  746,   98,   95,  125,   92,   96,  384,
 /*  5090 */   917,  917,  353,  386,  355,  396,  917,  917,  917,  917,
 /*  5100 */   917,  637,  638,  639,  584,  665,  219,  917,  436,  670,
 /*  5110 */   624,  626,  917,  917,  228,  917,  372,  375,  917,  917,
 /*  5120 */   917,  917,  917,  917,  917,  650,  649,  666,  153,  689,
 /*  5130 */   139,  138,  641,  354,  174,  438,  208,  276,  917,  917,
 /*  5140 */    13,  917,  917,  593,  220,  428,  917,  224,  917,  917,
 /*  5150 */   917,  917,  917,  917,  187,  145,  917,  727,  730,  917,
 /*  5160 */   743,  241,  917,  917,  756,  731,  917,  917,  917,  917,
 /*  5170 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  5180 */   612,  917,  119,  917,  917,  917,  917,  917,   99,  917,
 /*  5190 */   111,   93,  917,  917,  917,   97,  142,  917,  146,  917,
 /*  5200 */   917,   40,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  5210 */   917,  917,  917,  917,  917,  917,  823,  325,  619,   26,
 /*  5220 */   492,  917,   32,  479,  200,  792,  168,  917,  437,  917,
 /*  5230 */   917,  917,  917,  827,  406,  917,  917,  917,  917,  634,
 /*  5240 */   441,  917,  434,  108,  807,  475,   58,   47,  917,  917,
 /*  5250 */   917,  333,  808,  107,  760,  759,  716,  714,  713,  117,
 /*  5260 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  5270 */   917,  238,  917,  304,  917,  327,  917,  317,  215,  917,
 /*  5280 */   141,  917,  917,  917,  917,  217,  917,  104,  162,  105,
 /*  5290 */   917,  608,  917,  195,  191,  746,   98,   95,  125,   92,
 /*  5300 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /*  5310 */   917,  917,  917,  637,  638,  639,  584,  665,  219,  917,
 /*  5320 */   436,  670,  624,  626,  917,  917,  228,  917,  372,  375,
 /*  5330 */   917,  917,  427,  917,  917,  917,  917,  650,  649,  666,
 /*  5340 */   153,  689,  139,  138,  641,  354,  917,  917,  313,  917,
 /*  5350 */   187,  917,  360,  917,  917,  917,  743,  917,  917,  917,
 /*  5360 */   362,  365,  395,  350,  393,  347,  389,  361,  397,  917,
 /*  5370 */   917,  917,  334,  328,  424,  429,  612,  359,  119,  917,
 /*  5380 */   917,  743,  917,  917,   99,  917,  111,   93,  917,  917,
 /*  5390 */   917,   97,  142,  917,  146,  917,  917,   40,  917,  917,
 /*  5400 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  5410 */   917,  111,  917,  917,  619,  917,  667,  166,  319,  171,
 /*  5420 */   917,  917,  917,  917,  917,  917,  917,  267,  686,  917,
 /*  5430 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  5440 */   807,  917,   58,   47,  917,  917,  917,  333,  808,  107,
 /*  5450 */   760,  759,  716,  714,  713,  117,  917,  917,  917,  917,
 /*  5460 */   917,  917,  917,  917,  917,  806,  917,  238,  917,  304,
 /*  5470 */   917,  327,  917,  317,  215,  917,  141,  917,  917,  917,
 /*  5480 */   917,  217,  917,  104,  162,  105,  917,  608,  917,  195,
 /*  5490 */   191,  746,   98,   95,  125,   92,   96,  384,  917,  917,
 /*  5500 */   353,  386,  355,  396,  917,  917,  917,  917,  917,  637,
 /*  5510 */   638,  639,  584,  665,  219,  917,  436,  670,  624,  626,
 /*  5520 */   917,  917,  228,  917,  372,  375,  917,  917,  427,  917,
 /*  5530 */   917,  917,  917,  650,  649,  666,  153,  689,  139,  138,
 /*  5540 */   641,  354,  670,  624,  626,  917,  187,  228,  917,  372,
 /*  5550 */   375,  917,  743,  917,  917,  917,  917,  917,  650,  649,
 /*  5560 */   666,  153,  689,  139,  138,  641,  354,  917,  917,  917,
 /*  5570 */   917,  917,  612,  917,  119,  917,  917,  917,  917,  917,
 /*  5580 */    99,  917,  111,   93,  917,  917,  917,   97,  142,  917,
 /*  5590 */   146,  917,  917,   40,  917,  917,  917,  917,  917,  917,
 /*  5600 */   917,  917,  917,  917,  917,  360,  917,  917,  917,  917,
 /*  5610 */   619,  917,  249,  362,  365,  395,  350,  393,  347,  389,
 /*  5620 */   361,  397,  417,  917,  917,  917,  328,  424,  429,  439,
 /*  5630 */   359,  917,  405,  408,  399,  409,  807,  917,   58,   47,
 /*  5640 */   917,  917,  917,  333,  808,  107,  760,  759,  716,  714,
 /*  5650 */   713,  117,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  5660 */   917,  917,  917,  238,  917,  304,  917,  327,  917,  317,
 /*  5670 */   215,  917,  141,  917,  917,  917,  917,  217,  917,  104,
 /*  5680 */   162,  105,  917,  608,  917,  195,  191,  746,   98,   95,
 /*  5690 */   125,   92,   96,  384,  917,  917,  353,  386,  355,  396,
 /*  5700 */   917,  917,  917,  917,  917,  637,  638,  639,  584,  665,
 /*  5710 */   219,  917,  436,  670,  624,  626,  917,  917,  228,  917,
 /*  5720 */   372,  375,  917,  917,  427,  917,  917,  917,  917,  650,
 /*  5730 */   649,  666,  153,  689,  139,  138,  641,  354,  917,  917,
 /*  5740 */   917,  917,  187,  917,  917,  917,  917,  917,  743,  917,
 /*  5750 */   360,  917,  917,  917,  917,  917,  917,  917,  362,  365,
 /*  5760 */   395,  350,  393,  347,  389,  361,  397,  917,  612,  917,
 /*  5770 */   119,  328,  424,  743,  917,  917,   99,  917,  111,   93,
 /*  5780 */   917,  917,  917,   97,  142,  917,  146,  917,  917,   40,
 /*  5790 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  5800 */   917,  917,  917,  917,  130,  917,  619,  917,  426,  166,
 /*  5810 */   917,  171,  917,  917,  917,  295,  319,  297,  291,  286,
 /*  5820 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  5830 */   917,  917,  807,  917,   58,   47,  917,  917,  917,  333,
 /*  5840 */   808,  107,  760,  759,  716,  714,  713,  117,  917,  917,
 /*  5850 */   917,  917,  324,  265,  269,  917,  917,  917,  917,  238,
 /*  5860 */   917,  304,  917,  327,  917,  317,  215,  917,  141,  917,
 /*  5870 */   917,  917,  917,  217,  917,  104,  162,  105,  917,  608,
 /*  5880 */   917,  195,  191,  746,   98,   95,  125,   92,   96,  384,
 /*  5890 */   917,  917,  353,  386,  355,  396,  917,  917,  917,  917,
 /*  5900 */   917,  637,  638,  639,  584,  665,  219,  917,  436,  670,
 /*  5910 */   624,  626,  917,  917,  228,  917,  372,  375,  917,  917,
 /*  5920 */   427,  917,  917,  917,  917,  650,  649,  666,  153,  689,
 /*  5930 */   139,  138,  641,  354,  621,  624,  626,  917,  187,  228,
 /*  5940 */   917,  372,  375,  917,  743,  917,  917,  917,  917,  917,
 /*  5950 */   650,  649,  666,  153,  689,  139,  138,  641,  354,  917,
 /*  5960 */   917,  917,  278,  917,  612,  917,  119,  741,  739,  738,
 /*  5970 */   736,  737,   99,  917,  111,   93,  917,  917,  917,   97,
 /*  5980 */   142,  917,  146,  917,  917,   40,  917,  917,  917,  917,
 /*  5990 */   917,  917,  917,  917,  917,  917,  917,  360,  917,  917,
 /*  6000 */   917,  917,  619,  917,  257,  362,  365,  395,  350,  393,
 /*  6010 */   347,  389,  361,  397,  917,  917,  917,  917,  328,  424,
 /*  6020 */   429,  439,  359,  917,  405,  408,  399,  409,  807,  917,
 /*  6030 */    58,   47,  917,  917,  917,  333,  808,  107,  760,  759,
 /*  6040 */   716,  714,  713,  117,  917,  917,  917,  917,  917,  917,
 /*  6050 */   917,  917,  917,  917,  917,  238,  917,  304,  917,  327,
 /*  6060 */   917,  317,  215,  917,  141,  917,  917,  917,  917,  217,
 /*  6070 */   917,  104,  162,  105,  917,  608,  917,  195,  191,  746,
 /*  6080 */    98,   95,  125,   92,   96,  384,  917,  917,  353,  386,
 /*  6090 */   355,  396,  917,  917,  917,  917,  917,  637,  638,  639,
 /*  6100 */   584,  665,  219,  917,  436,  670,  624,  626,  917,  917,
 /*  6110 */   228,  917,  372,  375,  917,  917,  427,  917,  917,  917,
 /*  6120 */   917,  650,  649,  666,  153,  689,  139,  138,  641,  354,
 /*  6130 */   917,  917,  917,  917,  187,  917,  917,  917,  917,  917,
 /*  6140 */   743,  917,  917,  917,  917,  917,  917,  917,  650,  649,
 /*  6150 */   666,  153,  689,  139,  138,  641,  354,  917,  917,  917,
 /*  6160 */   612,  917,  119,  917,  917,  743,  917,  917,   99,  917,
 /*  6170 */   111,   93,  917,  917,  917,   97,  142,  917,  146,  917,
 /*  6180 */   917,   40,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  6190 */   917,  917,  917,  917,  917,  917,  917,  917,  619,  917,
 /*  6200 */   237,  166,  917,  171,  917,  917,  917,  917,  917,  917,
 /*  6210 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  6220 */   917,  917,  917,  917,  807,  917,   58,   47,  917,  917,
 /*  6230 */   917,  333,  808,  107,  760,  759,  716,  714,  713,  117,
 /*  6240 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  6250 */   917,  238,  917,  304,  917,  327,  917,  317,  215,  917,
 /*  6260 */   141,  917,  917,  917,  917,  217,  917,  104,  162,  105,
 /*  6270 */   917,  608,  917,  195,  191,  746,   98,   95,  125,   92,
 /*  6280 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /*  6290 */   917,  917,  917,  637,  638,  639,  584,  665,  219,  917,
 /*  6300 */   436,  670,  624,  626,  917,  917,  228,  917,  372,  375,
 /*  6310 */   917,  917,  427,  917,  917,  917,  917,  650,  649,  666,
 /*  6320 */   153,  689,  139,  138,  641,  354,  621,  624,  626,  917,
 /*  6330 */   187,  228,  917,  372,  375,  917,  743,  917,  917,  917,
 /*  6340 */   917,  917,  650,  649,  666,  153,  689,  139,  138,  641,
 /*  6350 */   354,  917,  917,  917,  917,  917,  612,  917,  119,  917,
 /*  6360 */   917,  917,  917,  917,   99,  917,  111,   93,  917,  917,
 /*  6370 */   917,   97,  142,  917,  146,  917,  348,   40,  917,  917,
 /*  6380 */   917,  917,  917,  917,  917,  313,  917,  917,  917,  360,
 /*  6390 */   917,  917,  917,  917,  619,  917,  242,  362,  365,  395,
 /*  6400 */   350,  393,  347,  389,  361,  397,  917,  917,  917,  334,
 /*  6410 */   328,  424,  429,  917,  359,  917,  917,  917,  917,  917,
 /*  6420 */   807,  917,   58,   47,  917,  917,  917,  333,  808,  107,
 /*  6430 */   760,  759,  716,  714,  713,  117,  917,  917,  917,  917,
 /*  6440 */   917,  917,  917,  917,  917,  917,  917,  238,  917,  304,
 /*  6450 */   917,  327,  917,  317,  215,  319,  141,  917,  917,  917,
 /*  6460 */   917,  217,  917,  104,  162,  105,  917,  608,  917,  195,
 /*  6470 */   191,  746,   98,   95,  125,   92,   96,  384,  917,  917,
 /*  6480 */   353,  386,  355,  396,  917,  917,  917,  917,  917,  637,
 /*  6490 */   638,  639,  584,  665,  219,  917,  436,  670,  624,  626,
 /*  6500 */   917,  917,  228,  917,  372,  375,  917,  917,  427,  917,
 /*  6510 */   917,  917,  917,  650,  649,  666,  153,  689,  139,  138,
 /*  6520 */   641,  354,  917,  917,  917,  917,  187,  917,  917,  917,
 /*  6530 */   794,  917,  743,  917,  917,  917,  917,  917,  917,  917,
 /*  6540 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  6550 */   917,  917,  612,  917,  119,  917,  917,  917,  917,  917,
 /*  6560 */    99,  917,  111,   93,  917,  917,  917,   97,  142,  917,
 /*  6570 */   146,  917,  917,   40,  917,  917,  917,  701,  134,  917,
 /*  6580 */   917,  695,  122,  724,  320,  123,  709,  170,  188,  917,
 /*  6590 */   619,  917,  468,  917,  917,   80,  917,  917,  917,  917,
 /*  6600 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  6610 */   917,  917,  917,  917,  917,  917,  807,  917,   58,   47,
 /*  6620 */   917,  917,  917,  333,  808,  107,  760,  759,  716,  714,
 /*  6630 */   713,  117,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  6640 */   917,  917,  917,  238,  280,  304,  917,  327,  917,  317,
 /*  6650 */   215,  323,  141,  917,  917,  917,  917,  217,  917,  104,
 /*  6660 */   162,  105,  917,  608,  917,  195,  191,  746,   98,   95,
 /*  6670 */   125,   92,   96,  384,  917,  917,  353,  386,  355,  396,
 /*  6680 */   917,  917,  917,  917,  917,  637,  638,  639,  584,  665,
 /*  6690 */   219,  917,  436,  670,  624,  626,  917,  917,  228,  917,
 /*  6700 */   372,  375,  802,  917,  427,  771,  812,  917,  917,  650,
 /*  6710 */   649,  666,  153,  689,  139,  138,  641,  354,  917,  917,
 /*  6720 */   917,  917,  187,  917,  917,  917,  794,  917,  743,  917,
 /*  6730 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  6740 */   917,  917,  917,  917,  917,  917,  917,  917,  612,  917,
 /*  6750 */   119,  917,  917,  917,  917,  917,   99,  917,  111,   93,
 /*  6760 */   917,  917,  917,   97,  142,  917,  146,  917,  917,   40,
 /*  6770 */   917,  917,  917,  732,  149,  917,  917,  695,  122,  724,
 /*  6780 */   320,  123,  709,  170,  181,  917,  619,  917,  411,  917,
 /*  6790 */   917,   80,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  6800 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  6810 */   917,  917,  807,  917,   58,   47,  917,  917,  917,  333,
 /*  6820 */   808,  107,  760,  759,  716,  714,  713,  117,  917,  917,
 /*  6830 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  238,
 /*  6840 */   917,  304,  917,  327,  917,  317,  215,  323,  141,  917,
 /*  6850 */   917,  917,  917,  217,  917,  104,  162,  105,  917,  608,
 /*  6860 */   917,  195,  191,  746,   98,   95,  125,   92,   96,  384,
 /*  6870 */   917,  917,  353,  386,  355,  396,  917,  917,  917,  917,
 /*  6880 */   917,  637,  638,  639,  584,  665,  219,  917,  436,  670,
 /*  6890 */   624,  626,  917,  917,  228,  917,  372,  375,  917,  917,
 /*  6900 */   427,  771,  812,  917,  917,  650,  649,  666,  153,  689,
 /*  6910 */   139,  138,  641,  354,  917,  917,  917,  917,  187,  917,
 /*  6920 */   917,  917,  794,  917,  743,  917,  917,  917,  917,  917,
 /*  6930 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  6940 */   917,  917,  917,  917,  612,  917,  119,  917,  917,  917,
 /*  6950 */   917,  917,   99,  917,  111,   93,  917,  917,  917,   97,
 /*  6960 */   142,  917,  146,  917,  917,   40,  917,  917,  917,  917,
 /*  6970 */   204,  917,  917,  917,  131,  917,  285,  129,  917,  917,
 /*  6980 */   917,  917,  619,  917,  294,  917,  917,   86,  917,  917,
 /*  6990 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  7000 */   917,  917,  917,  917,  917,  917,  917,  917,  807,  917,
 /*  7010 */    58,   47,  917,  917,  917,  333,  808,  107,  760,  759,
 /*  7020 */   716,  714,  713,  117,  917,  917,  917,  917,  917,  917,
 /*  7030 */   917,  917,  917,  917,  917,  238,  280,  304,  917,  327,
 /*  7040 */   917,  317,  215,  323,  141,  917,  917,  917,  917,  217,
 /*  7050 */   917,  104,  162,  105,  917,  608,  917,  195,  191,  746,
 /*  7060 */    98,   95,  125,   92,   96,  384,  917,  917,  353,  386,
 /*  7070 */   355,  396,  917,  917,  917,  917,  917,  637,  638,  639,
 /*  7080 */   584,  665,  219,  917,  436,  670,  624,  626,  917,  917,
 /*  7090 */   228,  917,  372,  375,  802,  313,  427,  771,  812,  360,
 /*  7100 */   917,  650,  649,  666,  153,  689,  139,  138,  641,  354,
 /*  7110 */   917,  917,  917,  156,  187,  917,  917,  917,  917,  334,
 /*  7120 */   743,  424,  429,  439,  359,  917,  405,  408,  399,  409,
 /*  7130 */   917,  917,  275,  274,  917,  416,  412,  414,  413,  917,
 /*  7140 */   612,  433,  400,  254,  273,  402,  421,  917,   99,  917,
 /*  7150 */   111,   93,  917,  917,  917,   97,  142,  917,  146,  917,
 /*  7160 */   917,   40,  917,  917,  917,  917,  917,  313,  917,  917,
 /*  7170 */   917,  360,  917,  917,  917,  917,  917,  917,  619,  362,
 /*  7180 */   365,  395,  350,  393,  347,  389,  361,  397,  917,  917,
 /*  7190 */   917,  334,  328,  424,  429,  439,  359,  917,  405,  408,
 /*  7200 */   399,  409,  917,  917,  376,  917,  917,  416,  412,  414,
 /*  7210 */   413,  176,  917,  433,  400,  254,  273,  402,  421,  117,
 /*  7220 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  7230 */   917,  238,  917,  304,  917,  327,  917,  317,  215,  917,
 /*  7240 */   141,  917,  917,  917,  917,  217,  917,  104,  162,  105,
 /*  7250 */   917,  608,  917,  195,  191,  746,   98,   95,  125,   92,
 /*  7260 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /*  7270 */   917,  917,  917,  637,  638,  639,  584,  665,  219,  917,
 /*  7280 */   436,  670,  624,  626,  917,  917,  228,  917,  372,  375,
 /*  7290 */   370,  648,  652,  651,  917,  917,  917,  650,  649,  666,
 /*  7300 */   153,  689,  139,  138,  641,  354,  917,  917,  313,  917,
 /*  7310 */   917,  917,  360,  917,  917,  917,  917,  917,  403,  253,
 /*  7320 */   362,  365,  395,  350,  393,  347,  389,  361,  397,  917,
 /*  7330 */   917,  917,  334,  328,  424,  429,  439,  359,  917,  405,
 /*  7340 */   408,  399,  409,  917,  917,  275,  274,  917,  416,  412,
 /*  7350 */   414,  413,  917,  917,  433,  400,  254,  273,  402,  421,
 /*  7360 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  7370 */   917,  917,  917,  917,  917,  917,  917,  295,  319,  297,
 /*  7380 */   291,  286,  289,  298,  363,  344,  343,  917,  917,  917,
 /*  7390 */   340,  917,  917,  351,  367,  388,  385,  390,  255,  391,
 /*  7400 */   383,  382,  374,  917,  917,  917,  917,  917,  264,  917,
 /*  7410 */   917,  401,  410,  415,  324,  265,  269,  262,  917,  371,
 /*  7420 */   917,  917,  313,  917,  917,  917,  360,  917,  917,  917,
 /*  7430 */   917,  917,  403,  253,  362,  365,  395,  350,  393,  347,
 /*  7440 */   389,  361,  397,  917,  917,  917,  334,  328,  424,  429,
 /*  7450 */   439,  359,  917,  405,  408,  399,  409,  917,  917,  275,
 /*  7460 */   917,  917,  416,  412,  414,  413,  917,  917,  433,  400,
 /*  7470 */   254,  273,  402,  421,  917,  917,  917,  917,  917,  917,
 /*  7480 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  7490 */   917,  295,  319,  297,  291,  286,  289,  298,  363,  344,
 /*  7500 */   343,  917,  917,  917,  340,  917,  917,  351,  367,  388,
 /*  7510 */   385,  390,  255,  391,  383,  382,  374,  387,  352,  337,
 /*  7520 */   917,  917,  264,  917,  917,  917,  917,  917,  324,  265,
 /*  7530 */   269,  262,  917,  371,  917,  917,  917,  917,  917,  313,
 /*  7540 */   917,  917,  917,  360,  917,  917,  917,  917,  917,  403,
 /*  7550 */   253,  362,  365,  395,  350,  393,  347,  389,  361,  397,
 /*  7560 */   917,  917,  917,  334,  328,  424,  429,  439,  359,  917,
 /*  7570 */   405,  408,  399,  409,  917,  917,  275,  274,  917,  416,
 /*  7580 */   412,  414,  413,  917,  917,  433,  400,  254,  273,  402,
 /*  7590 */   421,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  7600 */   917,  917,  917,  917,  917,  917,  917,  917,  295,  319,
 /*  7610 */   297,  291,  286,  289,  298,  363,  344,  343,  917,  917,
 /*  7620 */   917,  340,  917,  917,  351,  367,  388,  385,  390,  255,
 /*  7630 */   391,  383,  382,  374,  917,  917,  917,  917,  917,  264,
 /*  7640 */   917,  917,  917,  917,  917,  324,  265,  269,  262,  917,
 /*  7650 */   371,  917,  917,  917,  917,  917,  313,  917,  917,  917,
 /*  7660 */   360,  917,  917,  917,  917,  917,  403,  253,  362,  365,
 /*  7670 */   395,  350,  393,  347,  389,  361,  397,  917,  917,  917,
 /*  7680 */   334,  328,  424,  429,  439,  359,  917,  405,  408,  399,
 /*  7690 */   409,  917,  917,  275,  917,  917,  416,  412,  414,  413,
 /*  7700 */   917,  917,  433,  400,  254,  273,  402,  421,  917,  917,
 /*  7710 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  7720 */   917,  917,  917,  917,  917,  295,  319,  297,  291,  286,
 /*  7730 */   289,  298,  363,  344,  343,  917,  917,  917,  340,  917,
 /*  7740 */   917,  351,  367,  388,  385,  390,  255,  391,  383,  382,
 /*  7750 */   374,  917,  917,  917,  917,  917,  264,  917,  917,  917,
 /*  7760 */   917,  917,  324,  265,  269,  262,  917,  371,  597,  917,
 /*  7770 */   917,  917,  917,  313,  917,  917,  917,  360,  917,  917,
 /*  7780 */   917,  917,  917,  403,  253,  362,  365,  395,  350,  393,
 /*  7790 */   347,  389,  361,  397,  917,  917,  917,  334,  328,  424,
 /*  7800 */   429,  439,  359,  917,  405,  408,  399,  409,  917,  917,
 /*  7810 */   275,  917,  917,  416,  412,  414,  413,  917,  917,  433,
 /*  7820 */   400,  254,  273,  402,  421,  203,  917,  735,  247,  917,
 /*  7830 */   917,  917,  113,  741,  739,  738,  736,  737,  241,  917,
 /*  7840 */   734,  917,  295,  319,  297,  291,  286,  289,  298,  363,
 /*  7850 */   344,  343,  917,  917,  917,  340,  917,  917,  351,  367,
 /*  7860 */   388,  385,  390,  255,  391,  383,  382,  374,  917,  917,
 /*  7870 */   917,  917,  917,  264,  917,  917,  917,  917,  917,  324,
 /*  7880 */   265,  269,  262,  917,  371,  628,  917,  917,  917,  917,
 /*  7890 */   313,  917,  917,  917,  360,  917,  917,  917,  917,  917,
 /*  7900 */   403,  253,  362,  365,  395,  350,  393,  347,  389,  361,
 /*  7910 */   397,  917,  917,  917,  334,  328,  424,  429,  439,  359,
 /*  7920 */   917,  405,  408,  399,  409,  917,  917,  275,  917,  917,
 /*  7930 */   416,  412,  414,  413,  917,  917,  433,  400,  254,  273,
 /*  7940 */   402,  421,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  7950 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  295,
 /*  7960 */   319,  297,  291,  286,  289,  298,  363,  344,  343,  917,
 /*  7970 */   917,  917,  340,  917,  917,  351,  367,  388,  385,  390,
 /*  7980 */   255,  391,  383,  382,  374,  917,  427,  917,  917,  917,
 /*  7990 */   264,  917,  917,  917,  917,  917,  324,  265,  269,  262,
 /*  8000 */   917,  371,  917,  205,  209,  917,  917,  917,  917,  917,
 /*  8010 */   743,  917,  917,  917,  650,  649,  666,  153,  689,  139,
 /*  8020 */   138,  641,  354,  917,  917,  917,  917,  917,  917,  917,
 /*  8030 */   612,  917,  917,  917,  917,  917,  917,  917,   99,  917,
 /*  8040 */   111,   93,  917,  917,  917,   97,  142,  917,  146,  917,
 /*  8050 */   917,   40,  427,  917,  917,  917,  917,  917,  917,  917,
 /*  8060 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  199,
 /*  8070 */   178,  917,  917,  917,  917,  917,  743,  917,  917,  917,
 /*  8080 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  8090 */   917,  917,  917,  917,  376,  917,  612,  917,  917,  917,
 /*  8100 */   917,  917,  917,  917,   99,  917,  111,   93,  917,  917,
 /*  8110 */   917,   97,  142,  917,  146,  917,  917,   40,  917,  917,
 /*  8120 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  8130 */   917,  917,  917,  917,  917,  217,  917,  104,  162,  105,
 /*  8140 */   917,  608,  917,  195,  191,  746,   98,   95,  125,   92,
 /*  8150 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /*  8160 */   376,  917,  917,  637,  638,  639,  584,  665,  219,  917,
 /*  8170 */   436,  670,  624,  626,  917,  917,  228,  917,  372,  375,
 /*  8180 */   370,  648,  652,  651,  917,  917,  917,  650,  649,  666,
 /*  8190 */   153,  689,  139,  138,  641,  354,  917,  917,  917,  917,
 /*  8200 */   917,  217,  917,  104,  162,  105,  917,  608,  917,  195,
 /*  8210 */   191,  746,   98,   95,  125,   92,   96,  384,  917,  917,
 /*  8220 */   353,  386,  355,  396,  917,  917,  917,  917,  917,  637,
 /*  8230 */   638,  639,  584,  665,  219,  917,  436,  670,  624,  626,
 /*  8240 */   917,  917,  228,  917,  372,  375,  370,  648,  652,  651,
 /*  8250 */   917,  917,  917,  650,  649,  666,  153,  689,  139,  138,
 /*  8260 */   641,  354,  917,  917,  313,  917,  917,  917,  360,  917,
 /*  8270 */   917,  917,  917,  917,  403,  253,  362,  365,  395,  350,
 /*  8280 */   393,  347,  389,  361,  397,  917,  917,  917,  334,  328,
 /*  8290 */   424,  429,  439,  359,  917,  405,  408,  399,  409,  917,
 /*  8300 */   917,  275,  917,  917,  416,  412,  414,  413,  917,  917,
 /*  8310 */   433,  400,  254,  273,  402,  421,  362,  365,  395,  350,
 /*  8320 */   393,  347,  389,  361,  397,  427,  917,  917,  917,   43,
 /*  8330 */   761,  917,  917,  295,  319,  297,  291,  286,  289,  298,
 /*  8340 */   363,  344,  343,  187,  917,  917,  340,  917,  917,  351,
 /*  8350 */   367,  388,  385,  390,  255,  391,  917,  917,  917,  743,
 /*  8360 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  612,
 /*  8370 */   324,  265,  269,  262,  917,  371,  917,   99,  917,  917,
 /*  8380 */    93,  917,  917,  917,   97,  151,  917,  147,  917,  111,
 /*  8390 */    40,  917,  427,  917,  917,  166,  917,  171,  917,  917,
 /*  8400 */   917,  917,  917,  917,  264,  917,  917,  769,  917,  206,
 /*  8410 */   917,  265,  269,  262,  261,  917,  743,  917,  917,  779,
 /*  8420 */   770,  247,  917,  917,  917,  113,  741,  739,  738,  736,
 /*  8430 */   737,  241,  917,  917,  917,  917,  782,  917,  917,  917,
 /*  8440 */   917,  917,  917,  124,  917,  917,  111,  917,  117,  917,
 /*  8450 */   917,  917,  142,  917,  146,  917,  917,   48,  917,  917,
 /*  8460 */   238,  917,  304,  917,  327,  917,  317,  215,  917,  141,
 /*  8470 */   917,  917,  917,  917,  217,  917,  104,  162,  105,  917,
 /*  8480 */   608,  917,  195,  191,  746,   98,   95,  125,   92,   96,
 /*  8490 */   384,  917,  917,  353,  386,  355,  396,  917,  775,  201,
 /*  8500 */   376,  427,  637,  638,  639,  584,  665,  219,  917,  436,
 /*  8510 */   917,  917,  917,  917,  917,  228,  917,  372,  375,  187,
 /*  8520 */   670,  624,  626,  917,  917,  228,  917,  372,  375,  917,
 /*  8530 */   917,  917,  917,  917,  917,  917,  650,  649,  666,  153,
 /*  8540 */   689,  139,  138,  641,  354,  612,  917,  917,  917,  917,
 /*  8550 */   917,  917,  917,   99,  917,  917,   93,  917,  917,  917,
 /*  8560 */    97,  151,  917,  147,  917,  917,   40,  721,  917,  637,
 /*  8570 */   638,  639,  584,  665,  219,  917,  436,  670,  624,  626,
 /*  8580 */   917,  917,  228,  619,  372,  375,  370,  648,  652,  651,
 /*  8590 */   164,  917,  785,  650,  649,  666,  153,  689,  139,  138,
 /*  8600 */   641,  354,  917,  917,  917,  917,  917,  650,  649,  666,
 /*  8610 */   153,  689,  139,  138,  641,  354,  189,  917,  917,  917,
 /*  8620 */   917,  917,  917,  917,  117,  917,  917,  917,  917,  917,
 /*  8630 */   917,  917,  917,  917,  917,  917,  238,  917,  304,  917,
 /*  8640 */   327,  917,  317,  215,  917,  141,  917,  917,  917,  917,
 /*  8650 */   217,  917,  104,  162,  105,  917,  608,  917,  195,  191,
 /*  8660 */   746,   98,   95,  125,   92,   96,  384,  917,  917,  353,
 /*  8670 */   386,  355,  396,  917,  917,  917,  917,  917,  637,  638,
 /*  8680 */   639,  584,  665,  219,  427,  436,  917,  917,   43,  917,
 /*  8690 */   917,  228,  917,  372,  375,  917,  917,  917,  917,  917,
 /*  8700 */   917,  917,  187,  362,  365,  395,  350,  393,  347,  389,
 /*  8710 */   361,  397,  417,  917,  917,  727,  730,  917,  743,  917,
 /*  8720 */   917,  917,  728,  731,  917,  917,  917,  917,  612,  917,
 /*  8730 */   917,  917,  917,  917,  917,  917,   99,  917,  917,   93,
 /*  8740 */   116,  917,  917,   97,  151,  917,  147,  917,  111,   40,
 /*  8750 */   917,  917,  917,  917,  166,  227,  136,  917,  226,  917,
 /*  8760 */   917,  917,  917,  917,  917,  917,  765,  917,  917,  917,
 /*  8770 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  8780 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  8790 */   917,  264,  917,  917,  917,  917,  917,  917,  265,  269,
 /*  8800 */   262,  261,  807,  917,  917,  917,  917,  117,  917,  917,
 /*  8810 */   808,  107,  760,  759,  716,  714,  713,  917,  917,  238,
 /*  8820 */   917,  304,  917,  327,  917,  317,  215,  917,  141,  917,
 /*  8830 */   917,  917,  917,  217,  917,  104,  162,  105,  917,  608,
 /*  8840 */   917,  195,  191,  746,   98,   95,  125,   92,   96,  384,
 /*  8850 */   917,  917,  353,  386,  355,  396,  917,  764,  917,  917,
 /*  8860 */   917,  637,  638,  639,  584,  665,  219,  427,  436,  917,
 /*  8870 */   917,   43,  917,  917,  228,  917,  372,  375,  917,  670,
 /*  8880 */   624,  626,  917,  917,  228,  187,  372,  375,  917,  917,
 /*  8890 */   917,  917,  917,  917,  917,  650,  649,  666,  153,  689,
 /*  8900 */   139,  138,  641,  354,  917,  917,  917,  917,  917,  917,
 /*  8910 */   917,  612,  313,  917,  917,  917,  360,  917,  917,   99,
 /*  8920 */   917,  917,   93,  917,  917,  917,   97,  151,  917,  147,
 /*  8930 */   917,  917,   40,  917,  917,  917,  334,  917,  424,  429,
 /*  8940 */   439,  359,  917,  405,  408,  399,  409,  917,  270,  763,
 /*  8950 */   159,  917,  416,  412,  414,  413,  917,  743,  433,  400,
 /*  8960 */   254,  273,  402,  421,  917,  917,  362,  365,  395,  350,
 /*  8970 */   393,  347,  389,  361,  397,  917,  917,  917,  917,  917,
 /*  8980 */   917,  917,  917,  917,  917,  917,  917,  111,  917,  917,
 /*  8990 */   117,  917,  917,  166,  917,  171,  917,  917,  917,  917,
 /*  9000 */   917,  917,  238,  917,  304,  917,  327,  917,  317,  215,
 /*  9010 */   917,  141,  917,  917,  917,  917,  217,  917,  104,  162,
 /*  9020 */   105,  917,  608,  917,  195,  191,  746,   98,   95,  125,
 /*  9030 */    92,   96,  384,  917,  917,  353,  386,  355,  396,  917,
 /*  9040 */   768,  376,  917,  917,  637,  638,  639,  584,  665,  219,
 /*  9050 */   427,  436,  917,  917,  264,  917,  917,  228,  917,  372,
 /*  9060 */   375,  265,  269,  917,  261,  917,  917,  917,  187,  917,
 /*  9070 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9080 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9090 */   917,  917,  917,  917,  612,  917,  917,  917,  917,  917,
 /*  9100 */   917,  917,   99,  917,  917,   93,  917,  917,  917,   97,
 /*  9110 */   151,  917,  147,  917,  917,   40,  917,  917,  670,  624,
 /*  9120 */   626,  917,  917,  228,  917,  372,  375,  370,  648,  652,
 /*  9130 */   651,  917,  619,  917,  650,  649,  666,  153,  689,  139,
 /*  9140 */   138,  641,  354,  917,  917,  917,  917,  917,  917,  917,
 /*  9150 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9160 */   917,  917,  917,  917,  917,  176,  917,  917,  917,  917,
 /*  9170 */   917,  917,  917,  117,  917,  917,  917,  917,  917,  917,
 /*  9180 */   917,  917,  917,  917,  917,  238,  917,  304,  917,  327,
 /*  9190 */   917,  317,  215,  917,  141,  917,  917,  917,  917,  217,
 /*  9200 */   917,  104,  162,  105,  917,  608,  917,  195,  191,  746,
 /*  9210 */    98,   95,  125,   92,   96,  384,  917,  917,  353,  386,
 /*  9220 */   355,  396,  917,  917,  917,  917,  917,  637,  638,  639,
 /*  9230 */   584,  665,  219,  427,  436,  917,  917,  917,  917,  917,
 /*  9240 */   228,  917,  372,  375,  917,  917,  917,  917,  917,  917,
 /*  9250 */   917,  187,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9260 */   158,  917,  917,  917,  917,  917,  917,  743,  917,  917,
 /*  9270 */   917,  917,  917,  917,  917,  917,  917,  612,  917,  917,
 /*  9280 */   917,  917,  917,  917,  917,   99,  917,  917,   93,  917,
 /*  9290 */   917,  917,   97,  151,  917,  147,  917,  111,   40,  917,
 /*  9300 */   917,  917,  917,  166,  917,  171,  917,  917,  917,  917,
 /*  9310 */   917,  917,  917,  917,  917,  788,  917,  917,  917,  917,
 /*  9320 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9330 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9340 */   917,  917,  917,  917,  917,  260,  917,  917,  917,  917,
 /*  9350 */   917,  376,  917,  917,  917,  917,  117,  917,  917,  917,
 /*  9360 */   917,  917,  917,  917,  917,  917,  917,  917,  238,  917,
 /*  9370 */   304,  917,  327,  917,  317,  215,  917,  141,  917,  917,
 /*  9380 */   917,  917,  217,  917,  104,  162,  105,  917,  608,  917,
 /*  9390 */   195,  191,  746,   98,   95,  125,   92,   96,  384,  917,
 /*  9400 */   917,  353,  386,  355,  396,  917,  917,  917,  917,  917,
 /*  9410 */   637,  638,  639,  584,  665,  219,  427,  436,  917,  917,
 /*  9420 */   917,  917,  917,  228,  917,  372,  375,  917,  670,  624,
 /*  9430 */   626,  917,  917,  228,  187,  372,  375,  370,  648,  652,
 /*  9440 */   651,  917,  917,  917,  650,  649,  666,  153,  689,  139,
 /*  9450 */   138,  641,  354,  348,  917,  917,  917,  917,  917,  917,
 /*  9460 */   612,  917,  313,  917,  917,  917,  360,  917,   99,  917,
 /*  9470 */   917,   93,  917,  917,  917,   97,  151,  917,  147,  917,
 /*  9480 */   917,   40,  917,  917,  917,  917,  334,  917,  424,  429,
 /*  9490 */   439,  359,  917,  405,  408,  399,  409,  917,  749,  157,
 /*  9500 */   917,  917,  416,  412,  414,  413,  743,  917,  433,  400,
 /*  9510 */   254,  273,  402,  421,  917,  917,  917,  917,  917,  917,
 /*  9520 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9530 */   917,  917,  917,  917,  917,  917,  111,  917,  917,  117,
 /*  9540 */   917,  917,  166,  917,  171,  917,  917,  917,  917,  917,
 /*  9550 */   917,  238,  917,  304,  917,  327,  917,  317,  215,  917,
 /*  9560 */   141,  917,  917,  917,  917,  217,  917,  104,  162,  105,
 /*  9570 */   917,  608,  917,  195,  191,  746,   98,   95,  125,   92,
 /*  9580 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /*  9590 */   376,  917,  917,  637,  638,  639,  584,  665,  219,  427,
 /*  9600 */   436,  917,  917,  917,  917,  917,  228,  917,  372,  375,
 /*  9610 */   917,  917,  917,  917,  917,  917,  917,  187,  917,  917,
 /*  9620 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9630 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9640 */   917,  917,  917,  612,  917,  917,  917,  917,  917,  917,
 /*  9650 */   917,   99,  917,  917,   93,  917,  917,  917,   97,  151,
 /*  9660 */   917,  147,  917,  917,   40,  917,  917,  670,  624,  626,
 /*  9670 */   917,  917,  228,  917,  372,  375,  370,  648,  652,  651,
 /*  9680 */   917,  750,  917,  650,  649,  666,  153,  689,  139,  138,
 /*  9690 */   641,  354,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9700 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9710 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9720 */   917,  917,  117,  917,  917,  917,  917,  917,  917,  917,
 /*  9730 */   917,  917,  917,  917,  238,  917,  304,  917,  327,  917,
 /*  9740 */   317,  215,  917,  141,  917,  917,  917,  917,  217,  917,
 /*  9750 */   104,  162,  105,  917,  608,  917,  195,  191,  746,   98,
 /*  9760 */    95,  125,   92,   96,  384,  917,  917,  353,  386,  355,
 /*  9770 */   396,  917,  917,  917,  917,  917,  637,  638,  639,  584,
 /*  9780 */   665,  219,  427,  436,  917,  917,  917,  917,  917,  228,
 /*  9790 */   917,  372,  375,  917,  917,  917,  917,  917,  917,  917,
 /*  9800 */   187,  917,  917,  917,  917,  917,  917,  917,  917,  160,
 /*  9810 */   917,  917,  917,  917,  917,  917,  743,  917,  917,  917,
 /*  9820 */   917,  917,  917,  917,  917,  917,  612,  917,  917,  917,
 /*  9830 */   917,  917,  917,  917,   99,  917,  917,   93,  917,  917,
 /*  9840 */   917,   97,  151,  917,  147,  917,  111,   40,  917,  917,
 /*  9850 */   917,  917,  166,  917,  171,  917,  917,  917,  917,  917,
 /*  9860 */   917,  917,  917,  917,  733,  917,  917,  917,  917,  917,
 /*  9870 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9880 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9890 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /*  9900 */   376,  917,  917,  917,  917,  117,  917,  917,  917,  917,
 /*  9910 */   917,  917,  917,  917,  917,  917,  917,  238,  917,  304,
 /*  9920 */   917,  327,  917,  317,  215,  917,  141,  917,  917,  917,
 /*  9930 */   917,  217,  917,  104,  162,  105,  917,  608,  917,  195,
 /*  9940 */   191,  746,   98,   95,  125,   92,   96,  384,  917,  917,
 /*  9950 */   353,  386,  355,  396,  917,  917,  917,  917,  917,  637,
 /*  9960 */   638,  639,  584,  665,  219,  427,  436,  917,  917,  917,
 /*  9970 */   917,  917,  228,  917,  372,  375,  917,  670,  624,  626,
 /*  9980 */   917,  917,  228,  187,  372,  375,  370,  648,  652,  651,
 /*  9990 */   917,  917,  917,  650,  649,  666,  153,  689,  139,  138,
 /* 10000 */   641,  354,  917,  917,  917,  917,  917,  917,  313,  612,
 /* 10010 */   917,  917,  360,  917,  917,  917,  917,   99,  917,  917,
 /* 10020 */    93,  917,  917,  917,   97,  151,  917,  147,  917,  917,
 /* 10030 */    40,  917,  334,  917,  424,  429,  439,  359,  917,  405,
 /* 10040 */   408,  399,  409,  917,  917,  275,  917,  235,  416,  412,
 /* 10050 */   414,  413,  917,  917,  433,  400,  254,  273,  402,  421,
 /* 10060 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10070 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10080 */   917,  917,  917,  917,  917,  917,  917,  917,  117,  917,
 /* 10090 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10100 */   238,  917,  304,  917,  327,  917,  317,  215,  917,  141,
 /* 10110 */   917,  917,  917,  917,  217,  917,  104,  162,  105,  917,
 /* 10120 */   608,  917,  195,  191,  746,   98,   95,  125,   92,   96,
 /* 10130 */   384,  917,  917,  353,  386,  355,  396,  917,  917,  917,
 /* 10140 */   917,  917,  637,  638,  639,  584,  665,  219,  427,  436,
 /* 10150 */   917,  917,  917,  917,  917,  228,  917,  372,  375,  917,
 /* 10160 */   917,  917,  917,  917,  917,  917,  187,  917,  917,  917,
 /* 10170 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10180 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10190 */   917,  917,  612,  917,  917,  917,  917,  917,  917,  917,
 /* 10200 */    99,  917,  917,   93,  917,  917,  917,   97,  151,  917,
 /* 10210 */   147,  917,  917,   40,  313,  917,  917,  917,  360,  917,
 /* 10220 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10230 */   703,  427,  917,  917,  917,  917,  917,  917,  334,  917,
 /* 10240 */   424,  429,  439,  359,  917,  405,  408,  399,  409,  418,
 /* 10250 */   917,  917,  917,  917,  416,  412,  414,  413,  917,  917,
 /* 10260 */   433,  400,  254,  273,  402,  421,  917,  917,  917,  917,
 /* 10270 */   917,  117,  917,  917,  917,  407,  917,  917,  917,  917,
 /* 10280 */   917,  917,  917,  238,  917,  304,  917,  327,  917,  317,
 /* 10290 */   215,  151,  141,  147,  917,  917,   48,  217,  917,  104,
 /* 10300 */   162,  105,  917,  608,  917,  195,  191,  746,   98,   95,
 /* 10310 */   125,   92,   96,  384,  917,  917,  353,  386,  355,  396,
 /* 10320 */   917,  917,  917,  917,  917,  637,  638,  639,  584,  665,
 /* 10330 */   219,  427,  436,  917,  917,  917,  917,  917,  228,  917,
 /* 10340 */   372,  375,  917,  917,  917,  917,  917,  917,  917,  187,
 /* 10350 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10360 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10370 */   917,  917,  427,  917,  917,  612,  917,  917,  917,  917,
 /* 10380 */   917,  917,  917,   99,  917,  917,   93,  917,  917,  917,
 /* 10390 */    97,  151,  917,  147,  917,  917,   40,  917,  917,  917,
 /* 10400 */   917,  917,  917,  917,  917,  917,  917,  917,  637,  638,
 /* 10410 */   639,  584,  665,  219,  917,  436,  745,  917,  917,  917,
 /* 10420 */   917,  228,  917,  372,  375,  917,  917,  917,  917,  917,
 /* 10430 */   917,  917,  151,  917,  147,  917,  917,   48,  917,  917,
 /* 10440 */   917,  917,  917,  917,  772,  917,  917,  917,  917,  917,
 /* 10450 */   917,  917,  917,  917,  202,  917,  917,  917,  917,  917,
 /* 10460 */   917,  917,  917,  917,  917,  917,  238,  917,  304,  917,
 /* 10470 */   327,  917,  317,  215,  917,  141,  917,  917,  917,  917,
 /* 10480 */   217,  917,  104,  162,  105,  917,  608,  917,  195,  191,
 /* 10490 */   746,   98,   95,  125,   92,   96,  384,  917,  917,  353,
 /* 10500 */   386,  355,  396,  917,  917,  917,  917,  917,  637,  638,
 /* 10510 */   639,  584,  665,  219,  427,  436,  917,  917,  917,  917,
 /* 10520 */   917,  228,  917,  372,  375,  917,  917,  917,  917,  917,
 /* 10530 */   917,  917,  187,  917,  917,  917,  917,  917,  917,  917,
 /* 10540 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  637,
 /* 10550 */   638,  639,  584,  665,  219,  917,  436,  917,  612,  917,
 /* 10560 */   917,  917,  228,  917,  372,  375,   99,  917,  917,   93,
 /* 10570 */   917,  917,  917,   97,  151,  917,  147,  917,  917,   40,
 /* 10580 */   313,  917,  917,  917,  360,  917,  917,  917,  917,  917,
 /* 10590 */   917,  917,  917,  917,  917,  917,  696,  917,  917,  917,
 /* 10600 */   917,  917,  917,  917,  334,  917,  424,  429,  439,  359,
 /* 10610 */   917,  405,  408,  399,  409,  917,  917,  917,  917,  917,
 /* 10620 */   416,  412,  414,  413,  917,  917,  433,  400,  254,  273,
 /* 10630 */   402,  421,  917,  917,  917,  917,  917,  117,  917,  917,
 /* 10640 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  238,
 /* 10650 */   917,  304,  917,  327,  917,  317,  215,  917,  141,  917,
 /* 10660 */   917,  917,  917,  217,  917,  104,  162,  105,  917,  608,
 /* 10670 */   917,  195,  191,  746,   98,   95,  125,   92,   96,  384,
 /* 10680 */   917,  917,  353,  386,  355,  396,  917,  917,  917,  917,
 /* 10690 */   917,  637,  638,  639,  584,  665,  219,  427,  436,  917,
 /* 10700 */   917,  917,  917,  917,  228,  917,  372,  375,  917,  917,
 /* 10710 */   917,  917,  917,  917,  917,  187,  917,  917,  917,  917,
 /* 10720 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10730 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10740 */   917,  612,  917,  917,  917,  917,  917,  917,  917,   99,
 /* 10750 */   917,  917,   93,  917,  917,  917,   97,  151,  917,  147,
 /* 10760 */   917,  917,   40,  917,  917,  917,  917,  917,  917,  917,
 /* 10770 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  726,
 /* 10780 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10790 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10800 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10810 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10820 */   117,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10830 */   917,  917,  238,  917,  304,  917,  327,  917,  317,  215,
 /* 10840 */   917,  141,  917,  917,  917,  917,  217,  917,  104,  162,
 /* 10850 */   105,  917,  608,  917,  195,  191,  746,   98,   95,  125,
 /* 10860 */    92,   96,  384,  917,  917,  353,  386,  355,  396,  917,
 /* 10870 */   917,  917,  917,  917,  637,  638,  639,  584,  665,  219,
 /* 10880 */   427,  436,  917,  917,  917,  917,  917,  228,  917,  372,
 /* 10890 */   375,  917,  917,  917,  917,  917,  917,  917,  187,  917,
 /* 10900 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10910 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10920 */   917,  917,  917,  917,  612,  917,  917,  917,  917,  917,
 /* 10930 */   917,  917,   99,  917,  917,   93,  917,  917,  917,   97,
 /* 10940 */   151,  917,  147,  917,  917,   40,  917,  917,  917,  917,
 /* 10950 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10960 */   917,  917,  705,  917,  917,  917,  917,  917,  917,  917,
 /* 10970 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10980 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 10990 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11000 */   917,  917,  917,  117,  917,  917,  917,  917,  917,  917,
 /* 11010 */   917,  917,  917,  917,  917,  238,  917,  304,  917,  327,
 /* 11020 */   917,  317,  215,  917,  141,  917,  917,  917,  917,  217,
 /* 11030 */   917,  104,  162,  105,  917,  608,  917,  195,  191,  746,
 /* 11040 */    98,   95,  125,   92,   96,  384,  917,  917,  353,  386,
 /* 11050 */   355,  396,  917,  917,  917,  917,  917,  637,  638,  639,
 /* 11060 */   584,  665,  219,  427,  436,  917,  917,  917,  917,  917,
 /* 11070 */   228,  917,  372,  375,  917,  917,  917,  917,  917,  917,
 /* 11080 */   917,  187,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11090 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11100 */   917,  917,  917,  917,  917,  917,  917,  612,  917,  917,
 /* 11110 */   917,  917,  917,  917,  917,   99,  917,  917,   93,  917,
 /* 11120 */   917,  917,   97,  151,  917,  147,  917,  917,   40,  917,
 /* 11130 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11140 */   917,  917,  917,  917,  917,  725,  917,  917,  917,  917,
 /* 11150 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11160 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11170 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11180 */   917,  917,  917,  917,  917,  917,  117,  917,  917,  917,
 /* 11190 */   917,  917,  917,  917,  917,  917,  917,  917,  238,  917,
 /* 11200 */   304,  917,  327,  917,  317,  215,  917,  141,  917,  917,
 /* 11210 */   917,  917,  217,  917,  104,  162,  105,  917,  608,  917,
 /* 11220 */   195,  191,  746,   98,   95,  125,   92,   96,  384,  917,
 /* 11230 */   917,  353,  386,  355,  396,  917,  917,  917,  917,  917,
 /* 11240 */   637,  638,  639,  584,  665,  219,  427,  436,  917,  917,
 /* 11250 */   917,  917,  917,  228,  917,  372,  375,  917,  917,  917,
 /* 11260 */   917,  917,  917,  917,  187,  917,  917,  917,  917,  917,
 /* 11270 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11280 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11290 */   612,  917,  917,  917,  917,  917,  917,  917,   99,  917,
 /* 11300 */   917,   93,  917,  917,  917,   97,  151,  917,  147,  917,
 /* 11310 */   917,   40,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11320 */   917,  917,  917,  917,  917,  917,  917,  917,  314,  917,
 /* 11330 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11340 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11350 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11360 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  117,
 /* 11370 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11380 */   917,  238,  917,  304,  917,  327,  917,  317,  215,  917,
 /* 11390 */   141,  917,  917,  917,  917,  217,  917,  104,  162,  105,
 /* 11400 */   917,  608,  917,  195,  191,  746,   98,   95,  125,   92,
 /* 11410 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /* 11420 */   917,  917,  917,  637,  638,  639,  584,  665,  219,  427,
 /* 11430 */   436,  917,  917,  917,  917,  917,  228,  917,  372,  375,
 /* 11440 */   917,  917,  917,  917,  917,  917,  917,  187,  917,  917,
 /* 11450 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11460 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11470 */   917,  917,  917,  612,  917,  917,  917,  917,  917,  917,
 /* 11480 */   917,   99,  917,  917,   93,  917,  917,  917,   97,  151,
 /* 11490 */   917,  147,  917,  917,   40,  917,  917,  917,  917,  917,
 /* 11500 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11510 */   917,  704,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11520 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11530 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11540 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11550 */   917,  917,  117,  917,  917,  917,  917,  917,  917,  917,
 /* 11560 */   917,  917,  917,  917,  238,  917,  304,  917,  327,  917,
 /* 11570 */   317,  215,  917,  141,  917,  917,  917,  917,  217,  917,
 /* 11580 */   104,  162,  105,  917,  608,  917,  195,  191,  746,   98,
 /* 11590 */    95,  125,   92,   96,  384,  917,  917,  353,  386,  355,
 /* 11600 */   396,  917,  917,  917,  917,  917,  637,  638,  639,  584,
 /* 11610 */   665,  219,  427,  436,  917,  917,  917,  917,  917,  228,
 /* 11620 */   917,  372,  375,  917,  917,  917,  917,  917,  917,  917,
 /* 11630 */   187,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11640 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11650 */   917,  917,  917,  917,  917,  917,  612,  917,  917,  917,
 /* 11660 */   917,  917,  917,  917,   99,  917,  917,   93,  917,  917,
 /* 11670 */   917,   97,  151,  917,  147,  917,  917,   40,  917,  917,
 /* 11680 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11690 */   917,  917,  917,  917,  787,  917,  917,  917,  917,  917,
 /* 11700 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11710 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11720 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11730 */   917,  917,  917,  917,  917,  117,  917,  917,  917,  917,
 /* 11740 */   917,  917,  917,  917,  917,  917,  917,  238,  917,  304,
 /* 11750 */   917,  327,  917,  317,  215,  917,  141,  917,  917,  917,
 /* 11760 */   917,  217,  917,  104,  162,  105,  917,  608,  917,  195,
 /* 11770 */   191,  746,   98,   95,  125,   92,   96,  384,  917,  917,
 /* 11780 */   353,  386,  355,  396,  917,  917,  917,  917,  917,  637,
 /* 11790 */   638,  639,  584,  665,  219,  427,  436,  917,  917,  917,
 /* 11800 */   917,  917,  228,  917,  372,  375,  917,  917,  917,  917,
 /* 11810 */   917,  917,  917,  187,  917,  917,  917,  917,  917,  917,
 /* 11820 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11830 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  612,
 /* 11840 */   917,  917,  917,  917,  917,  917,  917,   99,  917,  917,
 /* 11850 */    93,  917,  917,  917,   97,  151,  917,  147,  917,  917,
 /* 11860 */    40,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11870 */   917,  917,  917,  917,  917,  917,  917,  694,  917,  917,
 /* 11880 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11890 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11900 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11910 */   917,  917,  917,  917,  917,  917,  917,  917,  117,  917,
 /* 11920 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 11930 */   238,  917,  304,  917,  327,  917,  317,  215,  917,  141,
 /* 11940 */   917,  917,  917,  917,  217,  917,  104,  162,  105,  917,
 /* 11950 */   608,  917,  195,  191,  746,   98,   95,  125,   92,   96,
 /* 11960 */   384,  917,  917,  353,  386,  355,  396,  917,  917,  917,
 /* 11970 */   917,  917,  637,  638,  639,  584,  665,  219,  427,  436,
 /* 11980 */   917,  917,  917,  917,  917,  228,  917,  372,  375,  917,
 /* 11990 */   917,  917,  917,  917,  917,  917,  187,  917,  917,  917,
 /* 12000 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12010 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12020 */   917,  917,  612,  917,  917,  917,  917,  917,  917,  917,
 /* 12030 */    99,  917,  917,   93,  917,  917,  917,   97,  151,  917,
 /* 12040 */   147,  917,  917,   40,  917,  917,  917,  917,  917,  917,
 /* 12050 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12060 */   707,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12070 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12080 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12090 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12100 */   917,  117,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12110 */   917,  917,  917,  238,  917,  304,  917,  327,  917,  317,
 /* 12120 */   215,  917,  141,  917,  917,  917,  917,  217,  917,  104,
 /* 12130 */   162,  105,  917,  608,  917,  195,  191,  746,   98,   95,
 /* 12140 */   125,   92,   96,  384,  917,  917,  353,  386,  355,  396,
 /* 12150 */   917,  917,  917,  917,  917,  637,  638,  639,  584,  665,
 /* 12160 */   219,  427,  436,  917,  917,  917,  917,  917,  228,  917,
 /* 12170 */   372,  375,  917,  917,  917,  917,  917,  917,  917,  187,
 /* 12180 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12190 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12200 */   917,  917,  917,  917,  917,  612,  917,  917,  917,  917,
 /* 12210 */   917,  917,  917,   99,  917,  917,   93,  917,  917,  917,
 /* 12220 */    97,  151,  917,  147,  917,  917,   40,  917,  917,  917,
 /* 12230 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12240 */   917,  917,  917,  684,  917,  917,  917,  917,  917,  917,
 /* 12250 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12260 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12270 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12280 */   917,  917,  917,  917,  117,  917,  917,  917,  917,  917,
 /* 12290 */   917,  917,  917,  917,  917,  917,  238,  917,  304,  917,
 /* 12300 */   327,  917,  317,  215,  917,  141,  917,  917,  917,  917,
 /* 12310 */   217,  917,  104,  162,  105,  917,  608,  917,  195,  191,
 /* 12320 */   746,   98,   95,  125,   92,   96,  384,  917,  917,  353,
 /* 12330 */   386,  355,  396,  917,  917,  917,  917,  917,  637,  638,
 /* 12340 */   639,  584,  665,  219,  427,  436,  917,  917,  917,  917,
 /* 12350 */   917,  228,  917,  372,  375,  917,  917,  917,  917,  917,
 /* 12360 */   917,  917,  187,  917,  917,  917,  917,  917,  917,  917,
 /* 12370 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12380 */   917,  917,  917,  917,  917,  917,  917,  917,  612,  917,
 /* 12390 */   917,  917,  917,  917,  917,  917,   99,  917,  917,   93,
 /* 12400 */   917,  917,  917,   97,  151,  917,  147,  917,  917,   40,
 /* 12410 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12420 */   917,  917,  917,  917,  917,  917,  697,  917,  917,  917,
 /* 12430 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12440 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12450 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12460 */   917,  917,  917,  917,  917,  917,  917,  117,  917,  917,
 /* 12470 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  238,
 /* 12480 */   917,  304,  917,  327,  917,  317,  215,  917,  141,  917,
 /* 12490 */   917,  917,  917,  217,  917,  104,  162,  105,  917,  608,
 /* 12500 */   917,  195,  191,  746,   98,   95,  125,   92,   96,  384,
 /* 12510 */   917,  917,  353,  386,  355,  396,  917,  917,  917,  917,
 /* 12520 */   917,  637,  638,  639,  584,  665,  219,  427,  436,  917,
 /* 12530 */   917,  917,  917,  917,  228,  917,  372,  375,  917,  917,
 /* 12540 */   917,  917,  917,  917,  917,  187,  917,  917,  917,  917,
 /* 12550 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12560 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12570 */   917,  612,  917,  917,  917,  917,  917,  917,  917,   99,
 /* 12580 */   917,  917,   93,  917,  917,  917,   97,  151,  917,  147,
 /* 12590 */   917,  917,   40,  917,  917,  917,  917,  917,  427,  917,
 /* 12600 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12610 */   917,  917,  917,  917,  917,  917,  187,  917,  917,  917,
 /* 12620 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12630 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12640 */   917,  917,  612,  917,  917,  917,  917,  917,  917,  917,
 /* 12650 */    99,  917,  917,   93,  917,  917,  917,   97,  151,  917,
 /* 12660 */   147,  917,  240,   40,  304,  917,  327,  917,  317,  215,
 /* 12670 */   917,  141,  917,  917,  917,  917,  217,  917,  104,  162,
 /* 12680 */   105,  917,  608,  917,  195,  191,  746,   98,   95,  125,
 /* 12690 */    92,   96,  384,  917,  917,  353,  386,  355,  396,  917,
 /* 12700 */   917,  917,  917,  917,  637,  638,  639,  584,  665,  219,
 /* 12710 */   917,  436,  917,  917,  917,  917,  917,  228,  917,  372,
 /* 12720 */   375,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12730 */   917,  917,  917,  917,  917,  281,  917,  327,  917,  317,
 /* 12740 */   215,  917,  141,  917,  917,  917,  917,  217,  917,  104,
 /* 12750 */   162,  105,  917,  608,  917,  195,  191,  746,   98,   95,
 /* 12760 */   125,   92,   96,  384,  917,  917,  353,  386,  355,  396,
 /* 12770 */   917,  917,  917,  917,  917,  637,  638,  639,  584,  665,
 /* 12780 */   219,  427,  436,  917,  917,  917,  917,  917,  228,  917,
 /* 12790 */   372,  375,  917,  917,  917,  917,  917,  917,  917,  187,
 /* 12800 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12810 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12820 */   917,  917,  917,  917,  917,  612,  427,  917,  917,  917,
 /* 12830 */   917,  917,  917,   99,  917,  917,   93,  917,  917,  917,
 /* 12840 */    97,  151,  917,  147,  187,  917,   40,  917,  917,  917,
 /* 12850 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12860 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12870 */   612,  917,  917,  917,  917,  917,  917,  917,   99,  917,
 /* 12880 */   917,   93,  917,  917,  917,   97,  151,  917,  147,  917,
 /* 12890 */   917,   40,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12900 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12910 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 12920 */   284,  917,  317,  215,  917,  141,  917,  917,  917,  917,
 /* 12930 */   217,  917,  104,  162,  105,  917,  608,  917,  195,  191,
 /* 12940 */   746,   98,   95,  125,   92,   96,  384,  917,  917,  353,
 /* 12950 */   386,  355,  396,  917,  917,  917,  917,  917,  637,  638,
 /* 12960 */   639,  584,  665,  219,  917,  436,  917,  288,  215,  917,
 /* 12970 */   141,  228,  917,  372,  375,  217,  917,  104,  162,  105,
 /* 12980 */   917,  608,  917,  195,  191,  746,   98,   95,  125,   92,
 /* 12990 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /* 13000 */   917,  917,  917,  637,  638,  639,  584,  665,  219,  917,
 /* 13010 */   436,  917,  917,  917,  917,  917,  228,  313,  372,  375,
 /* 13020 */   917,  360,  917,  917,  917,  917,  917,  277,  917,  362,
 /* 13030 */   365,  395,  350,  393,  347,  389,  361,  397,  917,  917,
 /* 13040 */   917,  334,  328,  424,  429,  439,  359,  917,  405,  408,
 /* 13050 */   399,  409,  917,  917,  917,  917,  917,  416,  412,  414,
 /* 13060 */   413,  917,  917,  433,  400,  254,  273,  402,  421,  917,
 /* 13070 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13080 */   917,  917,  917,  917,  917,  917,  295,  319,  297,  291,
 /* 13090 */   286,  289,  298,  917,  917,  917,  917,  313,  917,  917,
 /* 13100 */   917,  360,  917,  917,  917,  917,  917,  917,  917,  362,
 /* 13110 */   365,  395,  350,  393,  347,  389,  361,  397,  917,  917,
 /* 13120 */   917,  334,  328,  424,  429,  439,  359,  917,  405,  408,
 /* 13130 */   399,  409,  917,  917,  427,  917,  917,  416,  412,  414,
 /* 13140 */   413,  917,  917,  433,  400,  254,  273,  402,  421,  917,
 /* 13150 */   917,  917,  187,  917,  917,  917,  917,  917,  917,  917,
 /* 13160 */   917,  917,  917,  917,  917,  917,  295,  319,  297,  291,
 /* 13170 */   286,  289,  298,  917,  917,  917,  917,  917,  612,  917,
 /* 13180 */   373,  917,  917,  917,  917,  917,   99,  917,  917,   93,
 /* 13190 */   917,  313,  917,   97,  151,  360,  147,  917,  917,   40,
 /* 13200 */   917,  917,  917,  362,  365,  395,  350,  393,  347,  389,
 /* 13210 */   361,  397,  917,  917,  917,  334,  328,  424,  429,  439,
 /* 13220 */   359,  917,  405,  408,  399,  409,  917,  917,  917,  917,
 /* 13230 */   917,  416,  412,  414,  413,  917,  917,  433,  400,  254,
 /* 13240 */   273,  402,  421,  917,  917,  917,  917,  917,  917,  917,
 /* 13250 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13260 */   295,  319,  297,  291,  286,  289,  298,  917,  917,  917,
 /* 13270 */   917,  917,  917,  917,  917,  917,  196,  917,  141,  917,
 /* 13280 */   917,  917,  917,  217,  917,  104,  162,  105,  917,  608,
 /* 13290 */   917,  195,  191,  746,   98,   95,  125,   92,   96,  384,
 /* 13300 */   917,  427,  353,  386,  355,  396,  917,  917,  917,  917,
 /* 13310 */   917,  637,  638,  639,  584,  665,  219,  917,  436,  187,
 /* 13320 */   917,  917,  917,  917,  228,  917,  372,  375,  917,  917,
 /* 13330 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13340 */   917,  917,  917,  917,  917,  612,  427,  917,  917,  917,
 /* 13350 */   917,  917,  917,   99,  917,  917,   93,  917,  917,  917,
 /* 13360 */    97,  151,  917,  147,  187,  917,   40,  917,  917,  917,
 /* 13370 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13380 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13390 */   612,  917,  917,  917,  917,  917,  917,  917,   99,  917,
 /* 13400 */   917,   93,  917,  917,  917,   97,  151,  917,  147,  917,
 /* 13410 */   917,   40,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13420 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13430 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13440 */   917,  917,  917,  917,  917,  140,  917,  917,  917,  917,
 /* 13450 */   217,  917,  104,  162,  105,  917,  608,  917,  195,  191,
 /* 13460 */   746,   98,   95,  125,   92,   96,  384,  917,  917,  353,
 /* 13470 */   386,  355,  396,  917,  917,  917,  917,  917,  637,  638,
 /* 13480 */   639,  584,  665,  219,  917,  436,  917,  917,  917,  917,
 /* 13490 */   137,  228,  917,  372,  375,  217,  917,  104,  162,  105,
 /* 13500 */   917,  608,  917,  195,  191,  746,   98,   95,  125,   92,
 /* 13510 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /* 13520 */   917,  917,  917,  637,  638,  639,  584,  665,  219,  427,
 /* 13530 */   436,  917,  917,  917,  917,  917,  228,  917,  372,  375,
 /* 13540 */   917,  917,  917,  917,  917,  917,  917,  197,  917,  917,
 /* 13550 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13560 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13570 */   917,  917,  917,  612,  917,  917,  917,  917,  917,  917,
 /* 13580 */   917,   99,  917,  427,   93,  917,  917,  917,   97,  151,
 /* 13590 */   917,  147,  917,  917,   40,  917,  917,  917,  917,  917,
 /* 13600 */   917,  207,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13610 */   917,  917,  427,  917,  917,  917,  917,  917,  917,  917,
 /* 13620 */   917,  917,  917,  917,  917,  917,  917,  612,  917,  917,
 /* 13630 */   917,  917,  917,  917,  917,   99,  917,  917,   93,  917,
 /* 13640 */   917,  917,   97,  151,  917,  147,  917,  917,   40,  917,
 /* 13650 */   917,  917,  917,  917,  917,  917,  612,  917,  917,  917,
 /* 13660 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13670 */   917,  917,  151,  917,  147,  917,  917,   48,  217,  917,
 /* 13680 */   104,  162,  105,  917,  608,  917,  195,  191,  746,   98,
 /* 13690 */    95,  125,   92,   96,  384,  917,  917,  353,  386,  355,
 /* 13700 */   396,  917,  917,  917,  917,  917,  637,  638,  639,  584,
 /* 13710 */   665,  219,  917,  436,  917,  917,  917,  917,  917,  228,
 /* 13720 */   917,  372,  375,  917,  917,  917,  917,  917,  917,  917,
 /* 13730 */   917,  917,  217,  917,  104,  162,  105,  917,  608,  917,
 /* 13740 */   195,  191,  746,   98,   95,  125,   92,   96,  384,  917,
 /* 13750 */   917,  353,  386,  355,  396,  917,  917,  917,  917,  917,
 /* 13760 */   637,  638,  639,  584,  665,  219,  427,  436,  917,  357,
 /* 13770 */   341,  917,  917,  228,  126,  372,  375,  384,  917,  917,
 /* 13780 */   353,  386,  355,  396,  213,  917,  917,  917,  917,  637,
 /* 13790 */   638,  639,  584,  665,  219,  917,  436,  917,  917,  917,
 /* 13800 */   917,  917,  228,  917,  372,  375,  917,  917,  917,  917,
 /* 13810 */   612,  427,  917,  917,  917,  917,  917,  917,   99,  917,
 /* 13820 */   917,   93,  917,  917,  917,   97,  151,  917,  147,  198,
 /* 13830 */   917,   40,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13840 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13850 */   917,  917,  917,  917,  917,  612,  917,  917,  917,  917,
 /* 13860 */   917,  917,  917,   99,  917,  917,   93,  917,  917,  917,
 /* 13870 */    97,  151,  917,  147,  917,  917,   40,  917,  917,  917,
 /* 13880 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13890 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13900 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 13910 */   917,  917,  917,  917,  917,  217,  917,  104,  162,  105,
 /* 13920 */   917,  608,  917,  195,  191,  746,   98,   95,  125,   92,
 /* 13930 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /* 13940 */   917,  917,  917,  637,  638,  639,  584,  665,  219,  917,
 /* 13950 */   436,  917,  917,  917,  917,  917,  228,  917,  372,  375,
 /* 13960 */   217,  917,  104,  162,  105,  917,  608,  917,  195,  191,
 /* 13970 */   746,   98,   95,  125,   92,   96,  384,  917,  917,  353,
 /* 13980 */   386,  355,  396,  917,  917,  917,  427,  917,  637,  638,
 /* 13990 */   639,  584,  665,  219,  917,  436,  917,  917,  917,  917,
 /* 14000 */   917,  228,  917,  372,  375,  917,  917,  794,  917,  917,
 /* 14010 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14020 */   917,  917,  917,  917,  155,  917,  917,  917,  917,  917,
 /* 14030 */   612,  743,  917,  917,  917,  917,  917,  917,   99,  917,
 /* 14040 */   917,   93,  917,  917,  917,   97,  151,  917,  147,  917,
 /* 14050 */   917,   40,  917,  917,  917,  252,  917,  917,  917,  131,
 /* 14060 */   917,  109,  129,  917,  917,  794,  917,  166,  917,  171,
 /* 14070 */   917,  917,   86,  824,  183,  818,  917,  917,  917,  917,
 /* 14080 */   917,  917,  155,  917,  917,  917,  917,  917,  917,  743,
 /* 14090 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14100 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14110 */   917,  917,  917,  252,  917,  376,  917,  131,  917,  109,
 /* 14120 */   129,  917,  917,  917,  917,  166,  917,  118,  323,  917,
 /* 14130 */    86,  824,  193,  818,  917,  192,  917,  104,  162,  105,
 /* 14140 */   917,  608,  917,  195,  191,  746,   98,   95,  125,   92,
 /* 14150 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /* 14160 */   917,  917,  917,  637,  638,  639,  584,  665,  219,  917,
 /* 14170 */   436,  917,  917,  376,  917,  917,  228,  427,  372,  375,
 /* 14180 */   917,  917,  771,  812,  917,  917,  323,  917,  917,  917,
 /* 14190 */   917,  917,  670,  624,  626,  917,  917,  228,  917,  372,
 /* 14200 */   375,  370,  648,  652,  651,  917,  917,  917,  650,  649,
 /* 14210 */   666,  153,  689,  139,  138,  641,  354,  917,  917,  917,
 /* 14220 */   917,  612,  917,  917,  917,  917,  917,  917,  917,   99,
 /* 14230 */   917,  917,   93,  917,  917,  917,   97,  151,  917,  147,
 /* 14240 */   771,  812,   40,  917,  427,  917,  917,  917,  917,  917,
 /* 14250 */   670,  624,  626,  917,  917,  228,  917,  372,  375,  370,
 /* 14260 */   648,  652,  651,  917,  917,  917,  650,  649,  666,  153,
 /* 14270 */   689,  139,  138,  641,  354,  917,  917,  917,  917,  917,
 /* 14280 */   917,  917,  917,  917,  917,  917,  917,  917,  612,  917,
 /* 14290 */   917,  917,  917,  917,  917,  917,   99,  917,  917,   93,
 /* 14300 */   917,  917,  917,   97,  151,  917,  147,  917,  917,   40,
 /* 14310 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14320 */   917,  917,  917,  917,  917,  917,  194,  917,  104,  162,
 /* 14330 */   105,  917,  608,  917,  195,  191,  746,   98,   95,  125,
 /* 14340 */    92,   96,  384,  917,  917,  353,  386,  355,  396,  917,
 /* 14350 */   917,  917,  917,  917,  637,  638,  639,  584,  665,  219,
 /* 14360 */   917,  436,  917,  917,  917,  917,  917,  228,  917,  372,
 /* 14370 */   375,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14380 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14390 */   917,  917,  917,  794,  917,  104,  154,  105,  917,  608,
 /* 14400 */   917,  195,  191,  746,   98,   95,  125,   92,   96,  384,
 /* 14410 */   155,  917,  353,  386,  355,  396,  917,  743,  917,  917,
 /* 14420 */   917,  637,  638,  639,  584,  665,  219,  427,  436,  917,
 /* 14430 */   917,  917,  917,  917,  228,  917,  372,  375,  917,  917,
 /* 14440 */   917,  252,  917,  917,  175,  131,  917,  109,  129,  917,
 /* 14450 */   917,  743,  917,  166,  917,  118,  917,  917,   86,  917,
 /* 14460 */   212,  818,  917,  917,  917,  917,  427,  917,  917,  917,
 /* 14470 */   917,  778,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14480 */   917,  111,  917,  152,  917,  917,  917,  142,  917,  146,
 /* 14490 */   743,  917,   48,  917,  917,  917,  917,  917,  917,  917,
 /* 14500 */   917,  376,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14510 */   440,  917,  917,  917,  323,  917,  917,  917,  917,  917,
 /* 14520 */   111,  917,  917,  917,  917,  917,  142,  917,  146,  917,
 /* 14530 */   917,   48,  917,  917,  917,  376,  917,  917,  917,  917,
 /* 14540 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14550 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14560 */   917,  917,  917,  917,  917,  917,  917,  917,  771,  812,
 /* 14570 */   917,  917,  917,  917,  376,  917,  917,  917,  670,  624,
 /* 14580 */   626,  917,  917,  228,  917,  372,  375,  370,  648,  652,
 /* 14590 */   651,  917,  917,  917,  650,  649,  666,  153,  689,  139,
 /* 14600 */   138,  641,  354,  917,  637,  638,  639,  584,  665,  219,
 /* 14610 */   917,  436,  670,  624,  626,  917,  917,  228,  917,  372,
 /* 14620 */   375,  370,  648,  652,  651,  917,  917,  917,  650,  649,
 /* 14630 */   666,  153,  689,  139,  138,  641,  354,  917,  917,  917,
 /* 14640 */   917,  427,  917,  637,  638,  639,  584,  665,  219,  917,
 /* 14650 */   436,  670,  624,  626,  917,  917,  228,  917,  372,  375,
 /* 14660 */   370,  648,  652,  651,  917,  917,  794,  650,  649,  666,
 /* 14670 */   153,  689,  139,  138,  641,  354,  917,  917,  917,  917,
 /* 14680 */   917,  917,  917,  155,  917,  612,  917,  917,  917,  917,
 /* 14690 */   743,  917,  917,   99,  917,  917,   93,  917,  917,  917,
 /* 14700 */    97,  151,  917,  147,  917,  917,   40,  917,  917,  917,
 /* 14710 */   917,  917,  917,  917,  252,  917,  917,  917,  131,  917,
 /* 14720 */   109,  129,  917,  917,  917,  917,  166,  917,  171,  917,
 /* 14730 */   917,   86,  917,  917,  816,  917,  917,  917,  917,  917,
 /* 14740 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14750 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14760 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14770 */   917,  917,  917,  917,  376,  917,  917,  917,  917,  917,
 /* 14780 */   917,  917,  917,  917,  427,  917,  917,  323,  917,  917,
 /* 14790 */   917,  917,  104,  161,  105,  917,  608,  917,  195,  191,
 /* 14800 */   746,   98,   95,  125,   92,   96,  384,  917,  917,  353,
 /* 14810 */   386,  355,  396,  917,  917,  917,  917,  917,  637,  638,
 /* 14820 */   639,  584,  665,  219,  917,  436,  917,  917,  612,  917,
 /* 14830 */   917,  228,  427,  372,  375,  917,   99,  917,  917,   93,
 /* 14840 */   917,  771,  812,   97,  151,  917,  147,  917,  917,   40,
 /* 14850 */   917,  670,  624,  626,  917,  917,  228,  917,  372,  375,
 /* 14860 */   370,  648,  652,  651,  917,  917,  917,  650,  649,  666,
 /* 14870 */   153,  689,  139,  138,  641,  354,  612,  917,  917,  917,
 /* 14880 */   917,  917,  917,  917,   99,  917,  917,   93,  917,  917,
 /* 14890 */   917,   97,  151,  917,  147,  917,  917,   40,  917,  917,
 /* 14900 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14910 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14920 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 14930 */   917,  917,  917,  917,  917,  104,  917,  105,  917,  702,
 /* 14940 */   917,  195,  191,  746,   98,   95,  125,   92,   96,  384,
 /* 14950 */   917,  917,  353,  386,  355,  396,  917,  917,  917,  917,
 /* 14960 */   917,  637,  638,  639,  584,  665,  219,  917,  436,  917,
 /* 14970 */   917,  917,  917,  917,  228,  427,  372,  375,  917,  917,
 /* 14980 */   917,  917,  917,  104,  917,  105,  917,  767,  917,  195,
 /* 14990 */   191,  746,   98,   95,  125,   92,   96,  384,  917,  917,
 /* 15000 */   353,  386,  355,  396,  917,  917,  917,  917,  917,  637,
 /* 15010 */   638,  639,  584,  665,  219,  917,  436,  917,  427,  612,
 /* 15020 */   917,  917,  228,  917,  372,  375,  917,   99,  917,  917,
 /* 15030 */    93,  917,  917,  917,   97,  151,  917,  147,  917,  917,
 /* 15040 */    40,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15050 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15060 */   917,  917,  612,  917,  917,  917,  917,  917,  917,  917,
 /* 15070 */    99,  917,  917,   93,  917,  917,  917,   97,  151,  917,
 /* 15080 */   147,  917,  917,   40,  917,  917,  917,  917,  917,  917,
 /* 15090 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15100 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15110 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15120 */   917,  917,  917,  917,  917,  917,  104,  917,  105,  917,
 /* 15130 */   718,  917,  195,  191,  746,   98,   95,  125,   92,   96,
 /* 15140 */   384,  917,  917,  353,  386,  355,  396,  917,  917,  917,
 /* 15150 */   917,  917,  637,  638,  639,  584,  665,  219,  917,  436,
 /* 15160 */   917,  427,  917,  917,  917,  228,  917,  372,  375,  104,
 /* 15170 */   917,  105,  917,  917,  917,  357,  341,  776,   98,   95,
 /* 15180 */   125,   92,   96,  384,  917,  917,  353,  386,  355,  396,
 /* 15190 */   917,  917,  917,  917,  917,  637,  638,  639,  584,  665,
 /* 15200 */   219,  917,  436,  917,  427,  612,  917,  917,  228,  917,
 /* 15210 */   372,  375,  917,   99,  917,  917,   93,  917,  917,  917,
 /* 15220 */    97,  151,  917,  147,  917,  917,   40,  917,  917,  917,
 /* 15230 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15240 */   917,  917,  917,  917,  917,  917,  917,  917,  612,  917,
 /* 15250 */   917,  917,  917,  917,  917,  917,   99,  917,  917,   93,
 /* 15260 */   917,  917,  917,   97,  151,  917,  147,  917,  917,   40,
 /* 15270 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15280 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15290 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15300 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15310 */   917,  917,  104,  917,  105,  917,  917,  917,  357,  341,
 /* 15320 */   755,   98,   95,  125,   92,   96,  384,  917,  917,  353,
 /* 15330 */   386,  355,  396,  917,  917,  917,  917,  917,  637,  638,
 /* 15340 */   639,  584,  665,  219,  917,  436,  917,  427,  917,  917,
 /* 15350 */   917,  228,  917,  372,  375,  104,  917,  105,  917,  917,
 /* 15360 */   917,  357,  341,  757,   98,   95,  125,   92,   96,  384,
 /* 15370 */   917,  917,  353,  386,  355,  396,  917,  917,  917,  917,
 /* 15380 */   917,  637,  638,  639,  584,  665,  219,  917,  436,  917,
 /* 15390 */   427,  612,  917,  917,  228,  917,  372,  375,  917,   99,
 /* 15400 */   917,  917,   93,  917,  917,  917,   97,  151,  917,  147,
 /* 15410 */   917,  917,   40,  917,  917,  917,  917,  917,  917,  917,
 /* 15420 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15430 */   917,  917,  917,  917,  612,  917,  917,  917,  917,  917,
 /* 15440 */   917,  917,   99,  917,  917,   93,  917,  917,  917,   97,
 /* 15450 */   133,  917,  147,  917,  917,   40,  917,  917,  917,  917,
 /* 15460 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15470 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15480 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15490 */   917,  917,  917,  917,  917,  917,  917,  917,  104,  917,
 /* 15500 */   105,  917,  917,  917,  357,  341,  758,   98,   95,  125,
 /* 15510 */    92,   96,  384,  917,  917,  353,  386,  355,  396,  917,
 /* 15520 */   917,  917,  917,  917,  637,  638,  639,  584,  665,  219,
 /* 15530 */   917,  436,  917,  427,  917,  917,  917,  228,  917,  372,
 /* 15540 */   375,  104,  917,  105,  917,  917,  917,  357,  341,  742,
 /* 15550 */    98,   95,  125,   92,   96,  384,  917,  917,  353,  386,
 /* 15560 */   355,  396,  917,  917,  917,  917,  917,  637,  638,  639,
 /* 15570 */   584,  665,  219,  917,  436,  917,  427,  612,  917,  917,
 /* 15580 */   228,  917,  372,  375,  917,   99,  917,  917,   93,  917,
 /* 15590 */   917,  917,   97,  151,  917,  147,  917,  917,   40,  917,
 /* 15600 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15610 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15620 */   612,  917,  917,  917,  917,  917,  917,  917,   99,  917,
 /* 15630 */   917,   93,  917,  917,  917,   97,  151,  917,  147,  917,
 /* 15640 */   917,   40,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15650 */   917,  917,  917,  917,  917,  917,  427,  917,  917,  917,
 /* 15660 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15670 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15680 */   917,  917,  917,  917,  104,  917,  105,  917,  917,  917,
 /* 15690 */   357,  341,  753,   98,   95,  125,   92,   96,  384,  917,
 /* 15700 */   612,  353,  386,  355,  396,  917,  917,  917,  917,  917,
 /* 15710 */   637,  638,  639,  584,  665,  219,  151,  436,  147,  427,
 /* 15720 */   917,   48,  917,  228,  917,  372,  375,  104,  917,  105,
 /* 15730 */   917,  917,  917,  357,  341,  777,   98,   95,  125,   92,
 /* 15740 */    96,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /* 15750 */   917,  917,  917,  637,  638,  639,  584,  665,  219,  917,
 /* 15760 */   436,  917,  917,  612,  917,  917,  228,  917,  372,  375,
 /* 15770 */   917,   99,  917,  917,   93,  917,  917,  917,   97,  151,
 /* 15780 */   917,  147,  917,  917,   40,  917,  917,  917,  917,  917,
 /* 15790 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15800 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15810 */   917,  917,  917,  357,  341,  917,  917,  917,  127,  917,
 /* 15820 */   917,  384,  917,  917,  353,  386,  355,  396,  917,  917,
 /* 15830 */   917,  917,  917,  637,  638,  639,  584,  665,  219,  917,
 /* 15840 */   436,  917,  917,  917,  917,  917,  228,  917,  372,  375,
 /* 15850 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15860 */   917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
 /* 15870 */   104,  917,  105,  917,  917,  917,  357,  341,  742,   98,
 /* 15880 */    95,  125,   92,   96,  384,  917,  917,  353,  386,  355,
 /* 15890 */   396,  917,  917,  917,  917,  917,  637,  638,  639,  584,
 /* 15900 */   665,  219,  917,  436,  917,  917,  917,  917,  917,  228,
 /* 15910 */   917,  372,  375,
    );
    static public $yy_lookahead = array(
 /*     0 */   127,  128,  129,  130,  131,  184,  185,  134,  135,   34,
 /*    10 */   137,  138,  139,  156,  141,   34,   35,  196,   37,  130,
 /*    20 */    39,  148,  149,   20,  151,  152,  153,  154,  155,  184,
 /*    30 */   185,  158,  159,  160,  161,  162,  163,   62,   63,  166,
 /*    40 */   167,  168,   39,  151,  152,  188,   10,  174,  175,  176,
 /*    50 */   158,  159,  195,  122,  135,  182,   31,  184,  185,   34,
 /*    60 */    35,   80,  189,  190,  191,  192,   40,  194,  195,  134,
 /*    70 */    34,   35,  199,   37,  278,   39,  280,  157,  130,  190,
 /*    80 */   207,  208,  209,  210,  211,  212,  213,  214,  135,  216,
 /*    90 */   217,  218,  219,  220,  143,  222,  143,  164,  165,  195,
 /*   100 */   227,  228,  169,  170,  184,  185,  233,  234,  157,  236,
 /*   110 */   237,  238,  239,  240,  241,  180,   80,   91,  245,  246,
 /*   120 */   247,  248,  249,  250,  251,  252,  253,  203,  204,  205,
 /*   130 */   206,  183,  184,  185,  186,  187,  135,   24,  265,   26,
 /*   140 */   267,   28,  269,  195,  271,  272,  242,  274,  229,  230,
 /*   150 */   231,  232,  279,   45,  281,  282,  283,   49,  285,   47,
 /*   160 */   287,  288,  289,  290,  291,  292,  293,  294,  295,    1,
 /*   170 */   313,  298,  299,  300,  301,  318,   24,   25,   26,   27,
 /*   180 */   307,  308,  309,  310,  311,  312,  329,  314,  315,  316,
 /*   190 */   317,  156,  157,  320,  130,  322,  323,  293,  294,  251,
 /*   200 */   296,  297,   34,   35,  331,  332,  333,  334,  335,  336,
 /*   210 */   337,  338,  339,  127,  128,  129,  130,  131,  184,  185,
 /*   220 */   134,  134,  130,  137,  138,  139,  134,  141,   14,  185,
 /*   230 */   196,  230,  231,  232,  148,  149,   48,  151,  152,  153,
 /*   240 */   154,  155,  334,  335,  158,  159,  338,  339,  184,  185,
 /*   250 */    36,   37,   38,   39,  306,   41,   42,   43,   44,  195,
 /*   260 */   174,  175,  176,  171,   50,   51,   52,   53,  182,  126,
 /*   270 */   184,  185,   64,   65,  130,  189,  190,  191,  192,  135,
 /*   280 */   194,  195,  156,   34,   35,  199,  200,  201,  202,  203,
 /*   290 */   204,  205,  206,  207,  208,  209,  210,  211,  212,  213,
 /*   300 */   214,  135,  216,  217,  218,  219,  220,  156,  222,  146,
 /*   310 */   164,  276,  277,  227,  228,  251,  172,  173,   14,  233,
 /*   320 */   234,  126,  236,  237,  238,  239,  240,  241,  284,  143,
 /*   330 */   286,  245,  246,  247,  248,  249,  250,  251,  252,  253,
 /*   340 */    36,   37,   38,   39,   37,   41,   42,   43,   44,  130,
 /*   350 */   179,  265,   45,  267,   31,  269,   33,  271,  272,  188,
 /*   360 */   274,   54,   55,   56,   57,  279,  195,  281,  282,  283,
 /*   370 */   306,  285,  130,  287,  288,  289,  290,  291,  292,  293,
 /*   380 */   294,  295,  196,   32,  298,  299,  300,  301,   14,   66,
 /*   390 */    67,  190,  156,  307,  308,  309,  310,  311,  312,   48,
 /*   400 */   314,  315,  316,  317,  185,  242,  320,   33,  322,  323,
 /*   410 */    34,   35,  130,   37,   40,   39,  126,  331,  332,  333,
 /*   420 */   334,  335,  336,  337,  338,  339,  127,  128,  129,  130,
 /*   430 */   131,  189,  190,  134,  135,  193,  137,  138,  139,  313,
 /*   440 */   141,   20,  189,  190,  318,    1,  193,  148,  149,  157,
 /*   450 */   151,  152,  153,  154,  155,  329,   80,  158,  159,  313,
 /*   460 */   161,  162,  163,  190,  313,  166,  167,  168,   47,  318,
 /*   470 */   179,  130,  190,  174,  175,  176,  184,  185,   39,  188,
 /*   480 */   329,  182,  130,  184,  185,  109,  195,   48,  189,  190,
 /*   490 */   191,  192,  126,  194,  195,  334,  335,  157,  199,  338,
 /*   500 */   339,  157,  130,  132,  133,  134,  207,  208,  209,  210,
 /*   510 */   211,  212,  213,  214,  179,  216,  217,  218,  219,  220,
 /*   520 */   319,  222,  321,  188,  184,  185,  227,  228,  184,  185,
 /*   530 */   195,  190,  233,  234,   48,  236,  237,  238,  239,  240,
 /*   540 */   241,  156,  190,  126,  245,  246,  247,  248,  249,  250,
 /*   550 */   251,  252,  253,  188,  318,  183,  184,  185,  186,  187,
 /*   560 */   195,  319,  243,  321,  265,  329,  267,  195,  269,  156,
 /*   570 */   271,  272,  319,  274,  321,   89,   90,  242,  279,  134,
 /*   580 */   281,  282,  283,  264,  285,  140,  287,  288,  289,  290,
 /*   590 */   291,  292,  293,  294,  295,    1,  323,  298,  299,  300,
 /*   600 */   301,  319,    9,  321,  143,   36,  307,  308,  309,  310,
 /*   610 */   311,  312,  196,  314,  315,  316,  317,   36,  157,  320,
 /*   620 */    39,  322,  323,  251,   36,  126,   32,   39,  126,   60,
 /*   630 */   331,  332,  333,  334,  335,  336,  337,  338,  339,   46,
 /*   640 */   124,  125,  126,  127,  128,  129,  130,  131,   60,  221,
 /*   650 */   134,  223,  224,  137,  138,  139,  130,  141,  333,  334,
 /*   660 */   319,  126,  321,  338,  148,  149,  188,  151,  152,  153,
 /*   670 */   154,  155,   14,  195,  158,  159,   20,  108,  306,  126,
 /*   680 */    22,   23,   24,   25,   26,   27,   28,   29,   30,  126,
 /*   690 */   174,  175,  176,   35,   36,   39,  108,   20,  182,  173,
 /*   700 */   184,  185,  126,  318,  179,  189,  190,  191,  192,   37,
 /*   710 */   194,  195,   20,  188,  329,  199,   39,   45,  164,   91,
 /*   720 */   195,   49,  130,  207,  208,  209,  210,  211,  212,  213,
 /*   730 */   214,  318,  216,  217,  218,  219,  220,   45,  222,  111,
 /*   740 */   112,   33,  329,  227,  228,   37,  134,  146,   40,  233,
 /*   750 */   234,  126,  236,  237,  238,  239,  240,  241,  116,  117,
 /*   760 */   118,  245,  246,  247,  248,  249,  250,  251,  252,  253,
 /*   770 */    34,   35,   31,   32,  135,   39,  184,  185,  223,  224,
 /*   780 */   179,  265,  143,  267,  130,  269,  188,  271,  272,  188,
 /*   790 */   274,  330,  180,  195,   20,  279,  195,  281,  282,  283,
 /*   800 */   273,  285,  275,  287,  288,  289,  290,  291,  292,  293,
 /*   810 */   294,  295,  188,   39,  298,  299,  300,  301,    5,  195,
 /*   820 */   281,  134,  283,  307,  308,  309,  310,  311,  312,  134,
 /*   830 */   314,  315,  316,  317,    9,  140,  320,   20,  322,  323,
 /*   840 */    58,   59,  126,  242,  190,  134,  134,  331,  332,  333,
 /*   850 */   334,  335,  336,  337,  338,  339,  125,  130,  127,  128,
 /*   860 */   129,  130,  131,  134,   47,  134,  135,  180,  137,  138,
 /*   870 */   139,  126,  141,   24,   49,   26,  143,  130,  134,  148,
 /*   880 */   149,   68,  151,  152,  153,  154,  155,  130,   34,  158,
 /*   890 */   159,  180,  180,   39,   69,   70,   71,   72,   73,   74,
 /*   900 */    75,   76,   77,   78,  334,  174,  175,  176,  338,  180,
 /*   910 */    37,  105,  106,  182,   14,  184,  185,  190,   45,  134,
 /*   920 */   189,  190,  191,  192,  180,  194,  195,   14,   33,  196,
 /*   930 */   199,  130,  143,   33,  143,   40,   20,  190,  207,  208,
 /*   940 */   209,  210,  211,  212,  213,  214,   33,  216,  217,  218,
 /*   950 */   219,  220,  134,  222,   39,  134,  171,  334,  227,  228,
 /*   960 */   134,  338,   47,   47,  233,  234,  126,  236,  237,  238,
 /*   970 */   239,  240,  241,   39,  143,  195,  245,  246,  247,  248,
 /*   980 */   249,  250,  251,  252,  253,  196,  185,  196,  196,  126,
 /*   990 */   126,    3,   37,  235,  126,  126,  265,  130,  267,  146,
 /*  1000 */   269,  180,  271,  272,   40,  274,  180,  313,  126,  195,
 /*  1010 */   279,  126,  281,  282,  283,  126,  285,   91,  287,  288,
 /*  1020 */   289,  290,  291,  292,  293,  294,  295,  196,  196,  298,
 /*  1030 */   299,  300,  301,  126,  126,  126,  126,  195,  307,  308,
 /*  1040 */   309,  310,  311,  312,  164,  314,  315,  316,  317,  126,
 /*  1050 */   126,  320,  156,  322,  323,  126,   33,  126,  126,  126,
 /*  1060 */   320,  126,  331,  332,  333,  334,  335,  336,  337,  338,
 /*  1070 */   339,  125,   14,  127,  128,  129,  130,  131,  126,  320,
 /*  1080 */   134,  135,  320,  137,  138,  139,   10,  141,  182,  126,
 /*  1090 */    26,  126,  126,  126,  148,  149,  126,  151,  152,  153,
 /*  1100 */   154,  155,  126,  126,  158,  159,  195,  254,  255,  256,
 /*  1110 */   257,  258,  259,  260,  261,  262,  263,  264,  126,  126,
 /*  1120 */   174,  175,  176,  126,  338,  126,  126,  156,  182,  126,
 /*  1130 */   184,  185,  126,  126,  122,  189,  190,  191,  192,  164,
 /*  1140 */   194,  195,   14,   42,   14,  199,   20,   20,  135,   20,
 /*  1150 */   126,   20,   20,  207,  208,  209,  210,  211,  212,  213,
 /*  1160 */   214,   20,  216,  217,  218,  219,  220,   20,  222,   20,
 /*  1170 */    20,  126,   20,  227,  228,  126,  126,  126,  126,  233,
 /*  1180 */   234,  126,  236,  237,  238,  239,  240,  241,  100,  211,
 /*  1190 */   196,  245,  246,  247,  248,  249,  250,  251,  252,  253,
 /*  1200 */   126,  126,  134,  126,  126,  126,  126,  126,  126,  126,
 /*  1210 */   182,  265,  126,  267,  130,  269,  126,  271,  272,  126,
 /*  1220 */   274,  126,  108,  193,  126,  279,  126,  281,  282,  283,
 /*  1230 */   196,  285,   49,  287,  288,  289,  290,  291,  292,  293,
 /*  1240 */   294,  295,  268,  146,  298,  299,  300,  301,    8,  143,
 /*  1250 */   126,   32,  185,  307,  308,  309,  310,  311,  312,  126,
 /*  1260 */   314,  315,  316,  317,  126,   34,  320,   11,  322,  323,
 /*  1270 */   243,  270,   46,  130,  243,  130,  130,  331,  332,  333,
 /*  1280 */   334,  335,  336,  337,  338,  339,  125,  130,  127,  128,
 /*  1290 */   129,  130,  131,  126,   20,  134,    6,  136,  137,  138,
 /*  1300 */   139,  266,  141,  126,  215,  242,   36,   94,  195,  148,
 /*  1310 */   149,  156,  151,  152,  153,  154,  155,   14,  182,  158,
 /*  1320 */   159,  126,  126,   45,  126,   22,   23,   24,   25,   26,
 /*  1330 */    27,   28,   29,   30,  126,  174,  175,  176,  126,   36,
 /*  1340 */   196,  126,  126,  182,  126,  184,  185,  126,  195,  215,
 /*  1350 */   189,  190,  191,  192,  215,  194,  195,  130,  196,  126,
 /*  1360 */   199,  126,  156,  185,  130,  126,  130,  126,  207,  208,
 /*  1370 */   209,  210,  211,  212,  213,  214,  146,  216,  217,  218,
 /*  1380 */   219,  220,  195,  222,  126,  126,  126,  195,  227,  228,
 /*  1390 */   126,  126,  126,  126,  233,  234,  146,  236,  237,  238,
 /*  1400 */   239,  240,  241,  126,  338,  126,  245,  246,  247,  248,
 /*  1410 */   249,  250,  251,  252,  253,  126,  182,  185,  184,  185,
 /*  1420 */   184,  185,  126,  126,  190,  126,  265,  143,  267,  195,
 /*  1430 */   269,  195,  271,  272,  126,  274,  126,  200,  196,  156,
 /*  1440 */   279,  126,  281,  282,  283,  126,  285,  126,  287,  288,
 /*  1450 */   289,  290,  291,  292,  293,  294,  295,  130,  126,  298,
 /*  1460 */   299,  300,  301,  107,  126,  126,  126,  126,  307,  308,
 /*  1470 */   309,  310,  311,  312,  320,  314,  315,  316,  317,  126,
 /*  1480 */   338,  320,  130,  322,  323,  251,  126,  251,  130,  126,
 /*  1490 */   126,  126,  331,  332,  333,  334,  335,  336,  337,  338,
 /*  1500 */   339,  125,  338,  127,  128,  129,  130,  131,  126,  126,
 /*  1510 */   134,  135,  196,  137,  138,  139,  130,  141,  126,  126,
 /*  1520 */   320,  126,   35,  126,  148,  149,  126,  151,  152,  153,
 /*  1530 */   154,  155,  185,  184,  158,  159,  126,  338,  126,  305,
 /*  1540 */   306,  338,  306,  126,  126,  126,  126,  126,  340,  340,
 /*  1550 */   174,  175,  176,  319,  340,  321,  340,  340,  182,  340,
 /*  1560 */   184,  185,  340,  340,  340,  189,  190,  191,  192,  340,
 /*  1570 */   194,  195,  340,  340,  340,  199,  340,  340,  340,  130,
 /*  1580 */   340,  340,  340,  207,  208,  209,  210,  211,  212,  213,
 /*  1590 */   214,  340,  216,  217,  218,  219,  220,  340,  222,  340,
 /*  1600 */   340,  340,  340,  227,  228,  340,  340,  340,  340,  233,
 /*  1610 */   234,  340,  236,  237,  238,  239,  240,  241,  340,  340,
 /*  1620 */   340,  245,  246,  247,  248,  249,  250,  251,  252,  253,
 /*  1630 */   340,  340,  183,  184,  185,  186,  187,  340,  340,  340,
 /*  1640 */   340,  265,  340,  267,  195,  269,  340,  271,  272,  340,
 /*  1650 */   274,  340,  340,  340,  340,  279,  340,  281,  282,  283,
 /*  1660 */   340,  285,  340,  287,  288,  289,  290,  291,  292,  293,
 /*  1670 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /*  1680 */   340,  340,  340,  307,  308,  309,  310,  311,  312,  340,
 /*  1690 */   314,  315,  316,  317,  340,  340,  320,  340,  322,  323,
 /*  1700 */   251,  340,  340,  340,  340,  340,  340,  331,  332,  333,
 /*  1710 */   334,  335,  336,  337,  338,  339,  125,  340,  127,  128,
 /*  1720 */   129,  130,  131,  340,  340,  134,  340,   10,  137,  138,
 /*  1730 */   139,  340,  141,  340,  340,  340,  340,  340,  340,  148,
 /*  1740 */   149,  340,  151,  152,  153,  154,  155,  340,  340,  158,
 /*  1750 */   159,   34,   35,  340,   37,  306,   39,  340,  340,  340,
 /*  1760 */   340,  340,  340,  340,  340,  174,  175,  176,  340,  340,
 /*  1770 */   340,  340,  340,  182,  340,  184,  185,  340,  340,  340,
 /*  1780 */   189,  190,  191,  192,  340,  194,  195,  340,  340,  340,
 /*  1790 */   199,  340,  340,  340,  130,  340,  130,   80,  207,  208,
 /*  1800 */   209,  210,  211,  212,  213,  214,  340,  216,  217,  218,
 /*  1810 */   219,  220,  340,  222,  340,  340,  340,  340,  227,  228,
 /*  1820 */   340,  340,  340,  340,  233,  234,  109,  236,  237,  238,
 /*  1830 */   239,  240,  241,  340,  340,  340,  245,  246,  247,  248,
 /*  1840 */   249,  250,  251,  252,  253,  340,  340,  340,  184,  185,
 /*  1850 */   184,  185,  340,  340,  340,  340,  265,  340,  267,  195,
 /*  1860 */   269,  195,  271,  272,  340,  274,  340,  340,  340,  340,
 /*  1870 */   279,  340,  281,  282,  283,  340,  285,  340,  287,  288,
 /*  1880 */   289,  290,  291,  292,  293,  294,  295,  340,  340,  298,
 /*  1890 */   299,  300,  301,  340,  340,  340,  340,  340,  307,  308,
 /*  1900 */   309,  310,  311,  312,  340,  314,  315,  316,  317,  340,
 /*  1910 */   340,  320,  340,  322,  323,  251,  340,  251,  340,  340,
 /*  1920 */   340,  340,  331,  332,  333,  334,  335,  336,  337,  338,
 /*  1930 */   339,  127,  128,  129,  130,  131,  340,  340,  134,  135,
 /*  1940 */    10,  137,  138,  139,  340,  141,  340,  340,  340,  340,
 /*  1950 */   340,  340,  148,  149,  340,  151,  152,  153,  154,  155,
 /*  1960 */   340,  340,  158,  159,   34,   35,   36,   37,  340,   39,
 /*  1970 */   306,  340,  306,  340,  340,  340,  340,  340,  174,  175,
 /*  1980 */   176,  340,  340,  340,  340,  340,  182,  340,  184,  185,
 /*  1990 */   340,  340,  340,  189,  190,  191,  192,  340,  194,  195,
 /*  2000 */   340,  340,  340,  199,  340,  340,  340,  340,  340,  340,
 /*  2010 */    80,  207,  208,  209,  210,  211,  212,  213,  214,  340,
 /*  2020 */   216,  217,  218,  219,  220,  340,  222,  340,  340,  340,
 /*  2030 */   340,  227,  228,  340,  340,  340,  340,  233,  234,  340,
 /*  2040 */   236,  237,  238,  239,  240,  241,  340,  340,  340,  245,
 /*  2050 */   246,  247,  248,  249,  250,  251,  252,  253,  340,  340,
 /*  2060 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  265,
 /*  2070 */   340,  267,  340,  269,  340,  271,  272,  340,  274,  340,
 /*  2080 */   340,  340,  340,  279,  340,  281,  282,  283,  340,  285,
 /*  2090 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /*  2100 */   340,  340,  298,  299,  300,  301,  340,  340,  340,  340,
 /*  2110 */   340,  307,  308,  309,  310,  311,  312,  340,  314,  315,
 /*  2120 */   316,  317,  340,  340,  320,  340,  322,  323,  340,  340,
 /*  2130 */   340,  340,  340,  340,  340,  331,  332,  333,  334,  335,
 /*  2140 */   336,  337,  338,  339,  125,  340,  127,  128,  129,  130,
 /*  2150 */   131,  340,  340,  134,  340,  340,  137,  138,  139,  340,
 /*  2160 */   141,  340,  340,  340,  340,  340,  340,  148,  149,  340,
 /*  2170 */   151,  152,  153,  154,  155,  340,  340,  158,  159,  340,
 /*  2180 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  2190 */   340,  340,  340,  174,  175,  176,  340,  340,  340,  340,
 /*  2200 */   340,  182,  340,  184,  185,  340,  340,  340,  189,  190,
 /*  2210 */   191,  192,  340,  194,  195,  340,  340,  340,  199,  340,
 /*  2220 */   340,  340,  340,  340,  340,  340,  207,  208,  209,  210,
 /*  2230 */   211,  212,  213,  214,  340,  216,  217,  218,  219,  220,
 /*  2240 */   340,  222,  340,  340,  340,  340,  227,  228,  340,  340,
 /*  2250 */   340,  340,  233,  234,  340,  236,  237,  238,  239,  240,
 /*  2260 */   241,  340,  340,  340,  245,  246,  247,  248,  249,  250,
 /*  2270 */   251,  252,  253,  340,  340,  340,  340,  340,  340,  340,
 /*  2280 */   340,  340,  340,  340,  265,  340,  267,  340,  269,  340,
 /*  2290 */   271,  272,  340,  274,  340,  340,  340,  340,  279,  340,
 /*  2300 */   281,  282,  283,  340,  285,  340,  287,  288,  289,  290,
 /*  2310 */   291,  292,  293,  294,  295,  340,  340,  298,  299,  300,
 /*  2320 */   301,  340,  340,  340,  340,  340,  307,  308,  309,  310,
 /*  2330 */   311,  312,  340,  314,  315,  316,  317,  340,  340,  320,
 /*  2340 */   340,  322,  323,  340,  340,  340,  340,  340,  340,  340,
 /*  2350 */   331,  332,  333,  334,  335,  336,  337,  338,  339,  125,
 /*  2360 */   340,  127,  128,  129,  130,  131,  340,  340,  134,  340,
 /*  2370 */   340,  137,  138,  139,  340,  141,  340,  340,  340,  340,
 /*  2380 */   340,  340,  148,  149,  340,  151,  152,  153,  154,  155,
 /*  2390 */   340,  340,  158,  159,  340,  340,  340,  340,  340,  340,
 /*  2400 */   340,  340,  340,  340,  340,  340,  340,  340,  174,  175,
 /*  2410 */   176,  340,  340,  340,  340,  340,  182,  340,  184,  185,
 /*  2420 */   340,  340,  340,  189,  190,  191,  192,  340,  194,  195,
 /*  2430 */   340,  340,  340,  199,  340,  340,  340,  340,  340,  340,
 /*  2440 */   340,  207,  208,  209,  210,  211,  212,  213,  214,  340,
 /*  2450 */   216,  217,  218,  219,  220,  340,  222,  340,  340,  340,
 /*  2460 */   340,  227,  228,  340,  340,  340,  340,  233,  234,  340,
 /*  2470 */   236,  237,  238,  239,  240,  241,  340,  340,  340,  245,
 /*  2480 */   246,  247,  248,  249,  250,  251,  252,  253,  340,  340,
 /*  2490 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  265,
 /*  2500 */   340,  267,  340,  269,  340,  271,  272,  340,  274,  340,
 /*  2510 */   340,  340,  340,  279,  340,  281,  282,  283,  340,  285,
 /*  2520 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /*  2530 */   340,  340,  298,  299,  300,  301,  340,  340,  340,  340,
 /*  2540 */   340,  307,  308,  309,  310,  311,  312,  340,  314,  315,
 /*  2550 */   316,  317,  340,  340,  320,  340,  322,  323,  340,  340,
 /*  2560 */   340,  340,  340,  340,  340,  331,  332,  333,  334,  335,
 /*  2570 */   336,  337,  338,  339,  125,  340,  127,  128,  129,  130,
 /*  2580 */   131,  340,  340,  134,  340,  340,  137,  138,  139,  340,
 /*  2590 */   141,  340,  340,  340,  340,  340,  340,  148,  149,  340,
 /*  2600 */   151,  152,  153,  154,  155,  340,  340,  158,  159,  340,
 /*  2610 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  2620 */   340,  340,  340,  174,  175,  176,  340,  340,  340,  340,
 /*  2630 */   340,  182,  340,  184,  185,  340,  340,  340,  189,  190,
 /*  2640 */   191,  192,  340,  194,  195,  340,  340,  340,  199,  340,
 /*  2650 */   340,  340,  340,  340,  340,  340,  207,  208,  209,  210,
 /*  2660 */   211,  212,  213,  214,  340,  216,  217,  218,  219,  220,
 /*  2670 */   340,  222,  340,  340,  340,  340,  227,  228,  340,  340,
 /*  2680 */   340,  340,  233,  234,  340,  236,  237,  238,  239,  240,
 /*  2690 */   241,  340,  340,  340,  245,  246,  247,  248,  249,  250,
 /*  2700 */   251,  252,  253,  340,  340,  340,  340,  340,  340,  340,
 /*  2710 */   340,  340,  340,  340,  265,  340,  267,  340,  269,  340,
 /*  2720 */   271,  272,  340,  274,  340,  340,  340,  340,  279,  340,
 /*  2730 */   281,  282,  283,  340,  285,  340,  287,  288,  289,  290,
 /*  2740 */   291,  292,  293,  294,  295,  340,  340,  298,  299,  300,
 /*  2750 */   301,  340,  340,  340,  340,  340,  307,  308,  309,  310,
 /*  2760 */   311,  312,  340,  314,  315,  316,  317,  340,  340,  320,
 /*  2770 */   340,  322,  323,  340,  340,  340,  340,  340,  340,  340,
 /*  2780 */   331,  332,  333,  334,  335,  336,  337,  338,  339,  125,
 /*  2790 */   340,  127,  128,  129,  130,  131,  340,  340,  134,  340,
 /*  2800 */   340,  137,  138,  139,  340,  141,  340,  340,  340,  340,
 /*  2810 */   340,  340,  148,  149,  340,  151,  152,  153,  154,  155,
 /*  2820 */   340,  340,  158,  159,  340,  340,  340,  340,  340,  340,
 /*  2830 */   340,  340,  340,  340,  340,  340,  340,  340,  174,  175,
 /*  2840 */   176,  340,  340,  340,  340,  340,  182,  340,  184,  185,
 /*  2850 */   340,  340,  340,  189,  190,  191,  192,  340,  194,  195,
 /*  2860 */   340,  340,  340,  199,  340,  340,  340,  340,  340,  340,
 /*  2870 */   340,  207,  208,  209,  210,  211,  212,  213,  214,  340,
 /*  2880 */   216,  217,  218,  219,  220,  340,  222,  340,  340,  340,
 /*  2890 */   340,  227,  228,  340,  340,  340,  340,  233,  234,  340,
 /*  2900 */   236,  237,  238,  239,  240,  241,  340,  340,  340,  245,
 /*  2910 */   246,  247,  248,  249,  250,  251,  252,  253,  340,  340,
 /*  2920 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  265,
 /*  2930 */   340,  267,  340,  269,  340,  271,  272,  340,  274,  340,
 /*  2940 */   340,  340,  340,  279,  340,  281,  282,  283,  340,  285,
 /*  2950 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /*  2960 */   340,  340,  298,  299,  300,  301,  340,  340,  340,  340,
 /*  2970 */   340,  307,  308,  309,  310,  311,  312,  340,  314,  315,
 /*  2980 */   316,  317,  340,  340,  320,  340,  322,  323,  340,  340,
 /*  2990 */   340,  340,  340,  340,  340,  331,  332,  333,  334,  335,
 /*  3000 */   336,  337,  338,  339,  125,  340,  127,  128,  129,  130,
 /*  3010 */   131,  340,  340,  134,  340,  340,  137,  138,  139,  340,
 /*  3020 */   141,  340,  340,  340,  340,  340,  340,  148,  149,  340,
 /*  3030 */   151,  152,  153,  154,  155,  340,  340,  158,  159,  340,
 /*  3040 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  3050 */   340,  340,  340,  174,  175,  176,  340,  340,  340,  340,
 /*  3060 */   340,  182,  340,  184,  185,  340,  340,  340,  189,  190,
 /*  3070 */   191,  192,  340,  194,  195,  340,  340,  340,  199,  340,
 /*  3080 */   340,  340,  340,  340,  340,  340,  207,  208,  209,  210,
 /*  3090 */   211,  212,  213,  214,  340,  216,  217,  218,  219,  220,
 /*  3100 */   340,  222,  340,  340,  340,  340,  227,  228,  340,  340,
 /*  3110 */   340,  340,  233,  234,  340,  236,  237,  238,  239,  240,
 /*  3120 */   241,  340,  340,  340,  245,  246,  247,  248,  249,  250,
 /*  3130 */   251,  252,  253,  340,  340,  340,  340,  340,  340,  340,
 /*  3140 */   340,  340,  340,  340,  265,  340,  267,  340,  269,  340,
 /*  3150 */   271,  272,  340,  274,  340,  340,  340,  340,  279,  340,
 /*  3160 */   281,  282,  283,  340,  285,  340,  287,  288,  289,  290,
 /*  3170 */   291,  292,  293,  294,  295,  340,  340,  298,  299,  300,
 /*  3180 */   301,  340,  340,  340,  340,  340,  307,  308,  309,  310,
 /*  3190 */   311,  312,  340,  314,  315,  316,  317,  340,  340,  320,
 /*  3200 */   340,  322,  323,  340,  340,  340,  340,  340,  340,  340,
 /*  3210 */   331,  332,  333,  334,  335,  336,  337,  338,  339,  127,
 /*  3220 */   128,  129,  130,  131,  340,  340,  134,  135,  340,  137,
 /*  3230 */   138,  139,  340,  141,  340,  340,  340,  340,  340,  340,
 /*  3240 */   148,  149,  340,  151,  152,  153,  154,  155,  340,  340,
 /*  3250 */   158,  159,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  3260 */   340,  340,  340,  340,  340,  340,  174,  175,  176,  340,
 /*  3270 */   340,  340,  340,  340,  182,  340,  184,  185,  340,  340,
 /*  3280 */   340,  189,  190,  191,  192,  340,  194,  195,  340,  340,
 /*  3290 */   340,  199,  340,  340,  340,  340,  340,  340,  340,  207,
 /*  3300 */   208,  209,  210,  211,  212,  213,  214,  340,  216,  217,
 /*  3310 */   218,  219,  220,  340,  222,  340,  340,  340,  340,  227,
 /*  3320 */   228,  340,  340,  340,  340,  233,  234,  340,  236,  237,
 /*  3330 */   238,  239,  240,  241,  340,  340,  340,  245,  246,  247,
 /*  3340 */   248,  249,  250,  251,  252,  253,  340,  340,  340,  340,
 /*  3350 */   340,  340,  340,  340,  340,  340,  340,  265,  340,  267,
 /*  3360 */   340,  269,  340,  271,  272,  340,  274,  340,  340,  340,
 /*  3370 */   340,  279,  340,  281,  282,  283,  340,  285,  340,  287,
 /*  3380 */   288,  289,  290,  291,  292,  293,  294,  295,  340,  340,
 /*  3390 */   298,  299,  300,  301,  340,  340,  340,  340,  340,  307,
 /*  3400 */   308,  309,  310,  311,  312,  340,  314,  315,  316,  317,
 /*  3410 */   340,  340,  320,  340,  322,  323,  340,  340,  340,  340,
 /*  3420 */   340,  340,  340,  331,  332,  333,  334,  335,  336,  337,
 /*  3430 */   338,  339,  125,  340,  127,  128,  129,  130,  131,  340,
 /*  3440 */   340,  134,  340,  340,  137,  138,  139,  340,  141,  340,
 /*  3450 */   340,  340,  340,  340,  340,  148,  149,  340,  151,  152,
 /*  3460 */   153,  154,  155,  340,  340,  158,  159,  340,  340,  340,
 /*  3470 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  3480 */   340,  174,  175,  176,  340,  340,  340,  340,  340,  182,
 /*  3490 */   340,  184,  185,  340,  340,  340,  189,  190,  191,  192,
 /*  3500 */   340,  194,  195,  340,  340,  340,  199,  340,  340,  340,
 /*  3510 */   340,  340,  340,  340,  207,  208,  209,  210,  211,  212,
 /*  3520 */   213,  214,  340,  216,  217,  218,  219,  220,  340,  222,
 /*  3530 */   340,  340,  340,  340,  227,  228,  340,  340,  340,  340,
 /*  3540 */   233,  234,  340,  236,  237,  238,  239,  240,  241,  340,
 /*  3550 */   340,  340,  245,  246,  247,  248,  249,  250,  251,  252,
 /*  3560 */   253,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  3570 */   340,  340,  265,  340,  267,  340,  269,  340,  271,  272,
 /*  3580 */   340,  274,  340,  340,  340,  340,  279,  340,  281,  282,
 /*  3590 */   283,  340,  285,  340,  287,  288,  289,  290,  291,  292,
 /*  3600 */   293,  294,  295,  340,  340,  298,  299,  300,  301,  340,
 /*  3610 */   340,  340,  340,  340,  307,  308,  309,  310,  311,  312,
 /*  3620 */   340,  314,  315,  316,  317,  340,  340,  320,  340,  322,
 /*  3630 */   323,  340,  340,  340,  340,  340,  340,  340,  331,  332,
 /*  3640 */   333,  334,  335,  336,  337,  338,  339,  127,  128,  129,
 /*  3650 */   130,  131,  340,  340,  134,  135,  340,  137,  138,  139,
 /*  3660 */   340,  141,  340,  340,  340,  340,  340,  340,  148,  149,
 /*  3670 */   340,  151,  152,  153,  154,  155,  340,  340,  158,  159,
 /*  3680 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  3690 */   340,  340,  340,  340,  174,  175,  176,  340,  340,  340,
 /*  3700 */   340,  340,  182,  340,  184,  185,  340,  340,  340,  189,
 /*  3710 */   190,  191,  192,  340,  194,  195,  340,  340,  340,  199,
 /*  3720 */   340,  340,  340,  340,  340,  340,  340,  207,  208,  209,
 /*  3730 */   210,  211,  212,  213,  214,  340,  216,  217,  218,  219,
 /*  3740 */   220,  340,  222,  340,  340,  340,  340,  227,  228,  340,
 /*  3750 */   340,  340,  340,  233,  234,  340,  236,  237,  238,  239,
 /*  3760 */   240,  241,  340,  340,  340,  245,  246,  247,  248,  249,
 /*  3770 */   250,  251,  252,  253,  340,  340,  340,  340,  340,  340,
 /*  3780 */   340,  340,  340,  340,  340,  265,  340,  267,  340,  269,
 /*  3790 */   340,  271,  272,  340,  274,  340,  340,  340,  340,  279,
 /*  3800 */   340,  281,  282,  283,  340,  285,  340,  287,  288,  289,
 /*  3810 */   290,  291,  292,  293,  294,  295,  340,  340,  298,  299,
 /*  3820 */   300,  301,  340,  340,  340,  340,  340,  307,  308,  309,
 /*  3830 */   310,  311,  312,  340,  314,  315,  316,  317,  340,  340,
 /*  3840 */   320,  340,  322,  323,  340,  340,  340,  340,  340,  340,
 /*  3850 */   340,  331,  332,  333,  334,  335,  336,  337,  338,  339,
 /*  3860 */   127,  128,  129,  130,  131,  340,  340,  134,  135,  340,
 /*  3870 */   137,  138,  139,  340,  141,  340,  340,  340,  340,  340,
 /*  3880 */   340,  148,  149,  340,  151,  152,  153,  154,  155,  340,
 /*  3890 */   340,  158,  159,  340,  340,  340,  340,  340,  340,  340,
 /*  3900 */   340,  340,  340,  340,  340,  340,  340,  174,  175,  176,
 /*  3910 */   340,  340,  340,  340,  340,  182,  340,  184,  185,  340,
 /*  3920 */   340,  340,  189,  190,  191,  192,  340,  194,  195,  340,
 /*  3930 */   340,  340,  199,  340,  340,  340,  340,  340,  340,  340,
 /*  3940 */   207,  208,  209,  210,  211,  212,  213,  214,  340,  216,
 /*  3950 */   217,  218,  219,  220,  340,  222,  340,  340,  340,  340,
 /*  3960 */   227,  228,  340,  340,  340,  340,  233,  234,  340,  236,
 /*  3970 */   237,  238,  239,  240,  241,  340,  340,  340,  245,  246,
 /*  3980 */   247,  248,  249,  250,  251,  252,  253,  340,  340,  340,
 /*  3990 */   340,  340,  340,  340,  340,  340,  340,  340,  265,  340,
 /*  4000 */   267,  340,  269,  340,  271,  272,  340,  274,  340,  340,
 /*  4010 */   340,  340,  279,  340,  281,  282,  283,  340,  285,  340,
 /*  4020 */   287,  288,  289,  290,  291,  292,  293,  294,  295,  340,
 /*  4030 */   340,  298,  299,  300,  301,  340,  340,  340,  340,  340,
 /*  4040 */   307,  308,  309,  310,  311,  312,  340,  314,  315,  316,
 /*  4050 */   317,  340,  340,  320,  340,  322,  323,  340,  340,  340,
 /*  4060 */   340,  340,  340,  340,  331,  332,  333,  334,  335,  336,
 /*  4070 */   337,  338,  339,  127,  128,  129,  130,  131,  340,  340,
 /*  4080 */   134,  340,  340,  137,  138,  139,  340,  141,  340,  340,
 /*  4090 */   340,  340,  340,  340,  148,  149,  340,  151,  152,  153,
 /*  4100 */   154,  155,  340,  340,  158,  159,  340,  340,  340,  340,
 /*  4110 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  4120 */   174,  175,  176,  340,  340,  340,  340,  340,  182,  340,
 /*  4130 */   184,  185,  340,  340,  340,  189,  190,  191,  192,  340,
 /*  4140 */   194,  195,  340,  340,  340,  199,  340,  340,  340,  340,
 /*  4150 */   340,  340,  340,  207,  208,  209,  210,  211,  212,  213,
 /*  4160 */   214,  340,  216,  217,  218,  219,  220,  340,  222,  340,
 /*  4170 */   340,  340,  340,  227,  228,  340,  340,  340,  340,  233,
 /*  4180 */   234,  340,  236,  237,  238,  239,  240,  241,  340,  340,
 /*  4190 */   340,  245,  246,  247,  248,  249,  250,  251,  252,  253,
 /*  4200 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  4210 */   340,  265,  340,  267,  340,  269,  340,  271,  272,  340,
 /*  4220 */   274,  340,  340,  340,  340,  279,  340,  281,  282,  283,
 /*  4230 */   340,  285,  340,  287,  288,  289,  290,  291,  292,  293,
 /*  4240 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /*  4250 */   340,  340,  340,  307,  308,  309,  310,  311,  312,  340,
 /*  4260 */   314,  315,  316,  317,  340,  340,  320,  340,  322,  323,
 /*  4270 */   340,  340,  340,  340,  340,  340,  340,  331,  332,  333,
 /*  4280 */   334,  335,  336,  337,  338,  339,  128,  129,  130,  131,
 /*  4290 */   340,  340,  134,  340,  340,  137,  138,  139,  340,  141,
 /*  4300 */   340,  340,  340,  340,  340,  340,  148,  149,  340,  151,
 /*  4310 */   152,   14,  154,  155,  340,  340,  158,  159,  340,   22,
 /*  4320 */    23,   24,   25,   26,   27,   28,   29,   30,  340,  340,
 /*  4330 */   340,   34,  174,   36,  176,  340,  340,  340,  340,  340,
 /*  4340 */   182,  340,  184,  185,  340,  340,  340,  189,  190,  340,
 /*  4350 */   192,  340,  340,  195,  340,  340,  340,  340,  340,  340,
 /*  4360 */   340,  340,  340,  340,  340,  340,  130,  340,  210,  211,
 /*  4370 */   212,  213,  214,  340,  216,  217,  218,  219,  220,  340,
 /*  4380 */   222,  340,  340,  340,  340,  227,  228,  340,  340,  340,
 /*  4390 */   340,  233,  234,  340,  236,  237,  238,  239,  240,  241,
 /*  4400 */   340,  340,  340,  245,  246,  247,  248,  249,  250,  251,
 /*  4410 */   252,  253,  340,  340,  178,  340,  340,  340,  182,  340,
 /*  4420 */   184,  185,  340,  265,  340,  267,  340,  269,  340,  271,
 /*  4430 */   272,  195,  274,  340,  340,  340,  340,  279,  340,  281,
 /*  4440 */   282,  283,  340,  285,  340,  287,  288,  289,  290,  291,
 /*  4450 */   292,  293,  294,  295,  340,  340,  298,  299,  300,  301,
 /*  4460 */   340,  340,  340,  340,  340,  307,  308,  309,  310,  311,
 /*  4470 */   312,  340,  314,  315,  316,  317,  340,  340,  320,  340,
 /*  4480 */   322,  323,  340,  340,  340,  340,  340,  251,  340,  331,
 /*  4490 */   332,  333,  334,  335,  336,  337,  338,  339,  128,  129,
 /*  4500 */   130,  131,  340,  340,  134,  340,  340,  137,  138,  139,
 /*  4510 */   340,  141,  340,  340,  340,  340,  340,  340,  148,  149,
 /*  4520 */   340,  151,  152,  340,  154,  155,  340,  340,  158,  159,
 /*  4530 */   340,  340,  340,  340,  340,  340,  340,  340,  302,  340,
 /*  4540 */   340,  305,  306,  340,  174,  340,  176,  340,  340,  340,
 /*  4550 */   340,  340,  182,  340,  184,  185,  340,  340,  340,  189,
 /*  4560 */   190,  340,  192,  340,  340,  195,  340,  340,  340,  340,
 /*  4570 */   340,  340,  340,  340,  340,  340,  340,  340,  130,  340,
 /*  4580 */   210,  211,  212,  213,  214,  340,  216,  217,  218,  219,
 /*  4590 */   220,  340,  222,  340,  340,  340,  340,  227,  228,  340,
 /*  4600 */   340,  340,  340,  233,  234,  340,  236,  237,  238,  239,
 /*  4610 */   240,  241,  340,  340,  340,  245,  246,  247,  248,  249,
 /*  4620 */   250,  251,  252,  253,  340,  340,  178,  340,  340,  340,
 /*  4630 */   182,  340,  184,  185,  340,  265,  340,  267,  340,  269,
 /*  4640 */   340,  271,  272,  195,  274,  340,  340,  340,  340,  279,
 /*  4650 */   340,  281,  282,  283,  340,  285,  340,  287,  288,  289,
 /*  4660 */   290,  291,  292,  293,  294,  295,  340,  340,  298,  299,
 /*  4670 */   300,  301,  340,  340,  340,  340,  340,  307,  308,  309,
 /*  4680 */   310,  311,  312,  340,  314,  315,  316,  317,  340,  340,
 /*  4690 */   320,  340,  322,  323,  340,  340,  340,  340,  340,  251,
 /*  4700 */   340,  331,  332,  333,  334,  335,  336,  337,  338,  339,
 /*  4710 */   128,  129,  130,  131,  340,  340,  134,  340,  340,  137,
 /*  4720 */   138,  139,  340,  141,  340,  340,  340,  340,  340,  340,
 /*  4730 */   148,  149,  340,  151,  152,  340,  154,  155,  340,  340,
 /*  4740 */   158,  159,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  4750 */   340,  340,  340,  305,  306,  340,  174,  340,  176,  340,
 /*  4760 */   340,  340,  340,  340,  182,  340,  184,  185,  340,  340,
 /*  4770 */   340,  189,  190,  340,  192,  340,  340,  195,  340,  340,
 /*  4780 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  4790 */   340,  340,  210,  211,  212,  213,  214,  340,  216,  217,
 /*  4800 */   218,  219,  220,  340,  222,  340,  340,  340,  340,  227,
 /*  4810 */   228,  340,  340,  340,  340,  233,  234,  340,  236,  237,
 /*  4820 */   238,  239,  240,  241,  340,  340,  340,  245,  246,  247,
 /*  4830 */   248,  249,  250,  251,  252,  253,  340,  340,  340,  340,
 /*  4840 */   340,  340,  340,  340,  340,  340,  340,  265,  340,  267,
 /*  4850 */   340,  269,  340,  271,  272,  340,  274,  340,  340,  340,
 /*  4860 */   340,  279,  340,  281,  282,  283,  340,  285,  340,  287,
 /*  4870 */   288,  289,  290,  291,  292,  293,  294,  295,  340,  340,
 /*  4880 */   298,  299,  300,  301,  340,  340,  340,  340,  340,  307,
 /*  4890 */   308,  309,  310,  311,  312,  340,  314,  315,  316,  317,
 /*  4900 */   340,  340,  320,  340,  322,  323,  340,  340,  340,  340,
 /*  4910 */   340,  340,  340,  331,  332,  333,  334,  335,  336,  337,
 /*  4920 */   338,  339,  128,  129,  130,  131,  340,  340,  134,  340,
 /*  4930 */   340,  137,  138,  139,  340,  141,  340,  340,  340,  340,
 /*  4940 */   340,  340,  148,  149,  340,  151,  152,  340,  154,  155,
 /*  4950 */   340,  340,  158,  159,  340,  340,  340,  340,  340,  340,
 /*  4960 */   340,  340,  340,  340,  340,  340,  340,  340,  174,  340,
 /*  4970 */   176,  340,  340,  340,  340,  340,  182,  340,  184,  185,
 /*  4980 */   340,  340,  340,  189,  190,  340,  192,  340,  340,  195,
 /*  4990 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  5000 */   340,  340,  340,  340,  210,  211,  212,  213,  214,  340,
 /*  5010 */   216,  217,  218,  219,  220,  340,  222,  340,  340,  340,
 /*  5020 */   340,  227,  228,  340,  340,  340,  340,  233,  234,  340,
 /*  5030 */   236,  237,  238,  239,  240,  241,  340,  340,  340,  245,
 /*  5040 */   246,  247,  248,  249,  250,  251,  252,  253,  340,  340,
 /*  5050 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  265,
 /*  5060 */   340,  267,  340,  269,  340,  271,  272,  340,  274,  340,
 /*  5070 */   340,  340,  340,  279,  340,  281,  282,  283,  340,  285,
 /*  5080 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /*  5090 */   340,  340,  298,  299,  300,  301,  340,  340,  340,  340,
 /*  5100 */   340,  307,  308,  309,  310,  311,  312,  340,  314,  315,
 /*  5110 */   316,  317,  340,  340,  320,  340,  322,  323,  340,  340,
 /*  5120 */   340,  340,  340,  340,  340,  331,  332,  333,  334,  335,
 /*  5130 */   336,  337,  338,  339,  128,  129,  130,  131,  340,  340,
 /*  5140 */   134,  340,  340,  137,  138,  139,  340,  141,  340,  340,
 /*  5150 */   340,  340,  340,  340,  148,  149,  340,  151,  152,  340,
 /*  5160 */   154,  155,  340,  340,  158,  159,  340,  340,  340,  340,
 /*  5170 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  5180 */   174,  340,  176,  340,  340,  340,  340,  340,  182,  340,
 /*  5190 */   184,  185,  340,  340,  340,  189,  190,  340,  192,  340,
 /*  5200 */   340,  195,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  5210 */   340,  340,  340,  340,  340,  340,  210,  211,  212,  213,
 /*  5220 */   214,  340,  216,  217,  218,  219,  220,  340,  222,  340,
 /*  5230 */   340,  340,  340,  227,  228,  340,  340,  340,  340,  233,
 /*  5240 */   234,  340,  236,  237,  238,  239,  240,  241,  340,  340,
 /*  5250 */   340,  245,  246,  247,  248,  249,  250,  251,  252,  253,
 /*  5260 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  5270 */   340,  265,  340,  267,  340,  269,  340,  271,  272,  340,
 /*  5280 */   274,  340,  340,  340,  340,  279,  340,  281,  282,  283,
 /*  5290 */   340,  285,  340,  287,  288,  289,  290,  291,  292,  293,
 /*  5300 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /*  5310 */   340,  340,  340,  307,  308,  309,  310,  311,  312,  340,
 /*  5320 */   314,  315,  316,  317,  340,  340,  320,  340,  322,  323,
 /*  5330 */   340,  340,  130,  340,  340,  340,  340,  331,  332,  333,
 /*  5340 */   334,  335,  336,  337,  338,  339,  340,  340,   10,  340,
 /*  5350 */   148,  340,   14,  340,  340,  340,  154,  340,  340,  340,
 /*  5360 */    22,   23,   24,   25,   26,   27,   28,   29,   30,  340,
 /*  5370 */   340,  340,   34,   35,   36,   37,  174,   39,  176,  340,
 /*  5380 */   340,  154,  340,  340,  182,  340,  184,  185,  340,  340,
 /*  5390 */   340,  189,  190,  340,  192,  340,  340,  195,  340,  340,
 /*  5400 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  5410 */   340,  184,  340,  340,  212,  340,  214,  190,   80,  192,
 /*  5420 */   340,  340,  340,  340,  340,  340,  340,  225,  226,  340,
 /*  5430 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  5440 */   238,  340,  240,  241,  340,  340,  340,  245,  246,  247,
 /*  5450 */   248,  249,  250,  251,  252,  253,  340,  340,  340,  340,
 /*  5460 */   340,  340,  340,  340,  340,  238,  340,  265,  340,  267,
 /*  5470 */   340,  269,  340,  271,  272,  340,  274,  340,  340,  340,
 /*  5480 */   340,  279,  340,  281,  282,  283,  340,  285,  340,  287,
 /*  5490 */   288,  289,  290,  291,  292,  293,  294,  295,  340,  340,
 /*  5500 */   298,  299,  300,  301,  340,  340,  340,  340,  340,  307,
 /*  5510 */   308,  309,  310,  311,  312,  340,  314,  315,  316,  317,
 /*  5520 */   340,  340,  320,  340,  322,  323,  340,  340,  130,  340,
 /*  5530 */   340,  340,  340,  331,  332,  333,  334,  335,  336,  337,
 /*  5540 */   338,  339,  315,  316,  317,  340,  148,  320,  340,  322,
 /*  5550 */   323,  340,  154,  340,  340,  340,  340,  340,  331,  332,
 /*  5560 */   333,  334,  335,  336,  337,  338,  339,  340,  340,  340,
 /*  5570 */   340,  340,  174,  340,  176,  340,  340,  340,  340,  340,
 /*  5580 */   182,  340,  184,  185,  340,  340,  340,  189,  190,  340,
 /*  5590 */   192,  340,  340,  195,  340,  340,  340,  340,  340,  340,
 /*  5600 */   340,  340,  340,  340,  340,   14,  340,  340,  340,  340,
 /*  5610 */   212,  340,  214,   22,   23,   24,   25,   26,   27,   28,
 /*  5620 */    29,   30,   31,  340,  340,  340,   35,   36,   37,   38,
 /*  5630 */    39,  340,   41,   42,   43,   44,  238,  340,  240,  241,
 /*  5640 */   340,  340,  340,  245,  246,  247,  248,  249,  250,  251,
 /*  5650 */   252,  253,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  5660 */   340,  340,  340,  265,  340,  267,  340,  269,  340,  271,
 /*  5670 */   272,  340,  274,  340,  340,  340,  340,  279,  340,  281,
 /*  5680 */   282,  283,  340,  285,  340,  287,  288,  289,  290,  291,
 /*  5690 */   292,  293,  294,  295,  340,  340,  298,  299,  300,  301,
 /*  5700 */   340,  340,  340,  340,  340,  307,  308,  309,  310,  311,
 /*  5710 */   312,  340,  314,  315,  316,  317,  340,  340,  320,  340,
 /*  5720 */   322,  323,  340,  340,  130,  340,  340,  340,  340,  331,
 /*  5730 */   332,  333,  334,  335,  336,  337,  338,  339,  340,  340,
 /*  5740 */   340,  340,  148,  340,  340,  340,  340,  340,  154,  340,
 /*  5750 */    14,  340,  340,  340,  340,  340,  340,  340,   22,   23,
 /*  5760 */    24,   25,   26,   27,   28,   29,   30,  340,  174,  340,
 /*  5770 */   176,   35,   36,  154,  340,  340,  182,  340,  184,  185,
 /*  5780 */   340,  340,  340,  189,  190,  340,  192,  340,  340,  195,
 /*  5790 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  5800 */   340,  340,  340,  340,  185,  340,  212,  340,  214,  190,
 /*  5810 */   340,  192,  340,  340,  340,   79,   80,   81,   82,   83,
 /*  5820 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  5830 */   340,  340,  238,  340,  240,  241,  340,  340,  340,  245,
 /*  5840 */   246,  247,  248,  249,  250,  251,  252,  253,  340,  340,
 /*  5850 */   340,  340,  116,  117,  118,  340,  340,  340,  340,  265,
 /*  5860 */   340,  267,  340,  269,  340,  271,  272,  340,  274,  340,
 /*  5870 */   340,  340,  340,  279,  340,  281,  282,  283,  340,  285,
 /*  5880 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /*  5890 */   340,  340,  298,  299,  300,  301,  340,  340,  340,  340,
 /*  5900 */   340,  307,  308,  309,  310,  311,  312,  340,  314,  315,
 /*  5910 */   316,  317,  340,  340,  320,  340,  322,  323,  340,  340,
 /*  5920 */   130,  340,  340,  340,  340,  331,  332,  333,  334,  335,
 /*  5930 */   336,  337,  338,  339,  315,  316,  317,  340,  148,  320,
 /*  5940 */   340,  322,  323,  340,  154,  340,  340,  340,  340,  340,
 /*  5950 */   331,  332,  333,  334,  335,  336,  337,  338,  339,  340,
 /*  5960 */   340,  340,  145,  340,  174,  340,  176,  150,  151,  152,
 /*  5970 */   153,  154,  182,  340,  184,  185,  340,  340,  340,  189,
 /*  5980 */   190,  340,  192,  340,  340,  195,  340,  340,  340,  340,
 /*  5990 */   340,  340,  340,  340,  340,  340,  340,   14,  340,  340,
 /*  6000 */   340,  340,  212,  340,  214,   22,   23,   24,   25,   26,
 /*  6010 */    27,   28,   29,   30,  340,  340,  340,  340,   35,   36,
 /*  6020 */    37,   38,   39,  340,   41,   42,   43,   44,  238,  340,
 /*  6030 */   240,  241,  340,  340,  340,  245,  246,  247,  248,  249,
 /*  6040 */   250,  251,  252,  253,  340,  340,  340,  340,  340,  340,
 /*  6050 */   340,  340,  340,  340,  340,  265,  340,  267,  340,  269,
 /*  6060 */   340,  271,  272,  340,  274,  340,  340,  340,  340,  279,
 /*  6070 */   340,  281,  282,  283,  340,  285,  340,  287,  288,  289,
 /*  6080 */   290,  291,  292,  293,  294,  295,  340,  340,  298,  299,
 /*  6090 */   300,  301,  340,  340,  340,  340,  340,  307,  308,  309,
 /*  6100 */   310,  311,  312,  340,  314,  315,  316,  317,  340,  340,
 /*  6110 */   320,  340,  322,  323,  340,  340,  130,  340,  340,  340,
 /*  6120 */   340,  331,  332,  333,  334,  335,  336,  337,  338,  339,
 /*  6130 */   340,  340,  340,  340,  148,  340,  340,  340,  340,  340,
 /*  6140 */   154,  340,  340,  340,  340,  340,  340,  340,  331,  332,
 /*  6150 */   333,  334,  335,  336,  337,  338,  339,  340,  340,  340,
 /*  6160 */   174,  340,  176,  340,  340,  154,  340,  340,  182,  340,
 /*  6170 */   184,  185,  340,  340,  340,  189,  190,  340,  192,  340,
 /*  6180 */   340,  195,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  6190 */   340,  340,  340,  340,  340,  340,  340,  340,  212,  340,
 /*  6200 */   214,  190,  340,  192,  340,  340,  340,  340,  340,  340,
 /*  6210 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  6220 */   340,  340,  340,  340,  238,  340,  240,  241,  340,  340,
 /*  6230 */   340,  245,  246,  247,  248,  249,  250,  251,  252,  253,
 /*  6240 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  6250 */   340,  265,  340,  267,  340,  269,  340,  271,  272,  340,
 /*  6260 */   274,  340,  340,  340,  340,  279,  340,  281,  282,  283,
 /*  6270 */   340,  285,  340,  287,  288,  289,  290,  291,  292,  293,
 /*  6280 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /*  6290 */   340,  340,  340,  307,  308,  309,  310,  311,  312,  340,
 /*  6300 */   314,  315,  316,  317,  340,  340,  320,  340,  322,  323,
 /*  6310 */   340,  340,  130,  340,  340,  340,  340,  331,  332,  333,
 /*  6320 */   334,  335,  336,  337,  338,  339,  315,  316,  317,  340,
 /*  6330 */   148,  320,  340,  322,  323,  340,  154,  340,  340,  340,
 /*  6340 */   340,  340,  331,  332,  333,  334,  335,  336,  337,  338,
 /*  6350 */   339,  340,  340,  340,  340,  340,  174,  340,  176,  340,
 /*  6360 */   340,  340,  340,  340,  182,  340,  184,  185,  340,  340,
 /*  6370 */   340,  189,  190,  340,  192,  340,    1,  195,  340,  340,
 /*  6380 */   340,  340,  340,  340,  340,   10,  340,  340,  340,   14,
 /*  6390 */   340,  340,  340,  340,  212,  340,  214,   22,   23,   24,
 /*  6400 */    25,   26,   27,   28,   29,   30,  340,  340,  340,   34,
 /*  6410 */    35,   36,   37,  340,   39,  340,  340,  340,  340,  340,
 /*  6420 */   238,  340,  240,  241,  340,  340,  340,  245,  246,  247,
 /*  6430 */   248,  249,  250,  251,  252,  253,  340,  340,  340,  340,
 /*  6440 */   340,  340,  340,  340,  340,  340,  340,  265,  340,  267,
 /*  6450 */   340,  269,  340,  271,  272,   80,  274,  340,  340,  340,
 /*  6460 */   340,  279,  340,  281,  282,  283,  340,  285,  340,  287,
 /*  6470 */   288,  289,  290,  291,  292,  293,  294,  295,  340,  340,
 /*  6480 */   298,  299,  300,  301,  340,  340,  340,  340,  340,  307,
 /*  6490 */   308,  309,  310,  311,  312,  340,  314,  315,  316,  317,
 /*  6500 */   340,  340,  320,  340,  322,  323,  340,  340,  130,  340,
 /*  6510 */   340,  340,  340,  331,  332,  333,  334,  335,  336,  337,
 /*  6520 */   338,  339,  340,  340,  340,  340,  148,  340,  340,  340,
 /*  6530 */   130,  340,  154,  340,  340,  340,  340,  340,  340,  340,
 /*  6540 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  6550 */   340,  340,  174,  340,  176,  340,  340,  340,  340,  340,
 /*  6560 */   182,  340,  184,  185,  340,  340,  340,  189,  190,  340,
 /*  6570 */   192,  340,  340,  195,  340,  340,  340,  177,  178,  340,
 /*  6580 */   340,  181,  182,  183,  184,  185,  186,  187,  188,  340,
 /*  6590 */   212,  340,  214,  340,  340,  195,  340,  340,  340,  340,
 /*  6600 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  6610 */   340,  340,  340,  340,  340,  340,  238,  340,  240,  241,
 /*  6620 */   340,  340,  340,  245,  246,  247,  248,  249,  250,  251,
 /*  6630 */   252,  253,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  6640 */   340,  340,  340,  265,  244,  267,  340,  269,  340,  271,
 /*  6650 */   272,  251,  274,  340,  340,  340,  340,  279,  340,  281,
 /*  6660 */   282,  283,  340,  285,  340,  287,  288,  289,  290,  291,
 /*  6670 */   292,  293,  294,  295,  340,  340,  298,  299,  300,  301,
 /*  6680 */   340,  340,  340,  340,  340,  307,  308,  309,  310,  311,
 /*  6690 */   312,  340,  314,  315,  316,  317,  340,  340,  320,  340,
 /*  6700 */   322,  323,  302,  340,  130,  305,  306,  340,  340,  331,
 /*  6710 */   332,  333,  334,  335,  336,  337,  338,  339,  340,  340,
 /*  6720 */   340,  340,  148,  340,  340,  340,  130,  340,  154,  340,
 /*  6730 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  6740 */   340,  340,  340,  340,  340,  340,  340,  340,  174,  340,
 /*  6750 */   176,  340,  340,  340,  340,  340,  182,  340,  184,  185,
 /*  6760 */   340,  340,  340,  189,  190,  340,  192,  340,  340,  195,
 /*  6770 */   340,  340,  340,  177,  178,  340,  340,  181,  182,  183,
 /*  6780 */   184,  185,  186,  187,  188,  340,  212,  340,  214,  340,
 /*  6790 */   340,  195,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  6800 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  6810 */   340,  340,  238,  340,  240,  241,  340,  340,  340,  245,
 /*  6820 */   246,  247,  248,  249,  250,  251,  252,  253,  340,  340,
 /*  6830 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  265,
 /*  6840 */   340,  267,  340,  269,  340,  271,  272,  251,  274,  340,
 /*  6850 */   340,  340,  340,  279,  340,  281,  282,  283,  340,  285,
 /*  6860 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /*  6870 */   340,  340,  298,  299,  300,  301,  340,  340,  340,  340,
 /*  6880 */   340,  307,  308,  309,  310,  311,  312,  340,  314,  315,
 /*  6890 */   316,  317,  340,  340,  320,  340,  322,  323,  340,  340,
 /*  6900 */   130,  305,  306,  340,  340,  331,  332,  333,  334,  335,
 /*  6910 */   336,  337,  338,  339,  340,  340,  340,  340,  148,  340,
 /*  6920 */   340,  340,  130,  340,  154,  340,  340,  340,  340,  340,
 /*  6930 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  6940 */   340,  340,  340,  340,  174,  340,  176,  340,  340,  340,
 /*  6950 */   340,  340,  182,  340,  184,  185,  340,  340,  340,  189,
 /*  6960 */   190,  340,  192,  340,  340,  195,  340,  340,  340,  340,
 /*  6970 */   178,  340,  340,  340,  182,  340,  184,  185,  340,  340,
 /*  6980 */   340,  340,  212,  340,  214,  340,  340,  195,  340,  340,
 /*  6990 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  7000 */   340,  340,  340,  340,  340,  340,  340,  340,  238,  340,
 /*  7010 */   240,  241,  340,  340,  340,  245,  246,  247,  248,  249,
 /*  7020 */   250,  251,  252,  253,  340,  340,  340,  340,  340,  340,
 /*  7030 */   340,  340,  340,  340,  340,  265,  244,  267,  340,  269,
 /*  7040 */   340,  271,  272,  251,  274,  340,  340,  340,  340,  279,
 /*  7050 */   340,  281,  282,  283,  340,  285,  340,  287,  288,  289,
 /*  7060 */   290,  291,  292,  293,  294,  295,  340,  340,  298,  299,
 /*  7070 */   300,  301,  340,  340,  340,  340,  340,  307,  308,  309,
 /*  7080 */   310,  311,  312,  340,  314,  315,  316,  317,  340,  340,
 /*  7090 */   320,  340,  322,  323,  302,   10,  130,  305,  306,   14,
 /*  7100 */   340,  331,  332,  333,  334,  335,  336,  337,  338,  339,
 /*  7110 */   340,  340,  340,  147,  148,  340,  340,  340,  340,   34,
 /*  7120 */   154,   36,   37,   38,   39,  340,   41,   42,   43,   44,
 /*  7130 */   340,  340,   47,   48,  340,   50,   51,   52,   53,  340,
 /*  7140 */   174,   56,   57,   58,   59,   60,   61,  340,  182,  340,
 /*  7150 */   184,  185,  340,  340,  340,  189,  190,  340,  192,  340,
 /*  7160 */   340,  195,  340,  340,  340,  340,  340,   10,  340,  340,
 /*  7170 */   340,   14,  340,  340,  340,  340,  340,  340,  212,   22,
 /*  7180 */    23,   24,   25,   26,   27,   28,   29,   30,  340,  340,
 /*  7190 */   340,   34,   35,   36,   37,   38,   39,  340,   41,   42,
 /*  7200 */    43,   44,  340,  340,  238,  340,  340,   50,   51,   52,
 /*  7210 */    53,  245,  340,   56,   57,   58,   59,   60,   61,  253,
 /*  7220 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  7230 */   340,  265,  340,  267,  340,  269,  340,  271,  272,  340,
 /*  7240 */   274,  340,  340,  340,  340,  279,  340,  281,  282,  283,
 /*  7250 */   340,  285,  340,  287,  288,  289,  290,  291,  292,  293,
 /*  7260 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /*  7270 */   340,  340,  340,  307,  308,  309,  310,  311,  312,  340,
 /*  7280 */   314,  315,  316,  317,  340,  340,  320,  340,  322,  323,
 /*  7290 */   324,  325,  326,  327,  340,  340,  340,  331,  332,  333,
 /*  7300 */   334,  335,  336,  337,  338,  339,  340,  340,   10,  340,
 /*  7310 */   340,  340,   14,  340,  340,  340,  340,  340,   20,   21,
 /*  7320 */    22,   23,   24,   25,   26,   27,   28,   29,   30,  340,
 /*  7330 */   340,  340,   34,   35,   36,   37,   38,   39,  340,   41,
 /*  7340 */    42,   43,   44,  340,  340,   47,   48,  340,   50,   51,
 /*  7350 */    52,   53,  340,  340,   56,   57,   58,   59,   60,   61,
 /*  7360 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  7370 */   340,  340,  340,  340,  340,  340,  340,   79,   80,   81,
 /*  7380 */    82,   83,   84,   85,   86,   87,   88,  340,  340,  340,
 /*  7390 */    92,  340,  340,   95,   96,   97,   98,   99,  100,  101,
 /*  7400 */   102,  103,  104,  340,  340,  340,  340,  340,  110,  340,
 /*  7410 */   340,  113,  114,  115,  116,  117,  118,  119,  340,  121,
 /*  7420 */   340,  340,   10,  340,  340,  340,   14,  340,  340,  340,
 /*  7430 */   340,  340,   20,   21,   22,   23,   24,   25,   26,   27,
 /*  7440 */    28,   29,   30,  340,  340,  340,   34,   35,   36,   37,
 /*  7450 */    38,   39,  340,   41,   42,   43,   44,  340,  340,   47,
 /*  7460 */   340,  340,   50,   51,   52,   53,  340,  340,   56,   57,
 /*  7470 */    58,   59,   60,   61,  340,  340,  340,  340,  340,  340,
 /*  7480 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  7490 */   340,   79,   80,   81,   82,   83,   84,   85,   86,   87,
 /*  7500 */    88,  340,  340,  340,   92,  340,  340,   95,   96,   97,
 /*  7510 */    98,   99,  100,  101,  102,  103,  104,  105,  106,  107,
 /*  7520 */   340,  340,  110,  340,  340,  340,  340,  340,  116,  117,
 /*  7530 */   118,  119,  340,  121,  340,  340,  340,  340,  340,   10,
 /*  7540 */   340,  340,  340,   14,  340,  340,  340,  340,  340,   20,
 /*  7550 */    21,   22,   23,   24,   25,   26,   27,   28,   29,   30,
 /*  7560 */   340,  340,  340,   34,   35,   36,   37,   38,   39,  340,
 /*  7570 */    41,   42,   43,   44,  340,  340,   47,   48,  340,   50,
 /*  7580 */    51,   52,   53,  340,  340,   56,   57,   58,   59,   60,
 /*  7590 */    61,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  7600 */   340,  340,  340,  340,  340,  340,  340,  340,   79,   80,
 /*  7610 */    81,   82,   83,   84,   85,   86,   87,   88,  340,  340,
 /*  7620 */   340,   92,  340,  340,   95,   96,   97,   98,   99,  100,
 /*  7630 */   101,  102,  103,  104,  340,  340,  340,  340,  340,  110,
 /*  7640 */   340,  340,  340,  340,  340,  116,  117,  118,  119,  340,
 /*  7650 */   121,  340,  340,  340,  340,  340,   10,  340,  340,  340,
 /*  7660 */    14,  340,  340,  340,  340,  340,   20,   21,   22,   23,
 /*  7670 */    24,   25,   26,   27,   28,   29,   30,  340,  340,  340,
 /*  7680 */    34,   35,   36,   37,   38,   39,  340,   41,   42,   43,
 /*  7690 */    44,  340,  340,   47,  340,  340,   50,   51,   52,   53,
 /*  7700 */   340,  340,   56,   57,   58,   59,   60,   61,  340,  340,
 /*  7710 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  7720 */   340,  340,  340,  340,  340,   79,   80,   81,   82,   83,
 /*  7730 */    84,   85,   86,   87,   88,  340,  340,  340,   92,  340,
 /*  7740 */   340,   95,   96,   97,   98,   99,  100,  101,  102,  103,
 /*  7750 */   104,  340,  340,  340,  340,  340,  110,  340,  340,  340,
 /*  7760 */   340,  340,  116,  117,  118,  119,  340,  121,  122,  340,
 /*  7770 */   340,  340,  340,   10,  340,  340,  340,   14,  340,  340,
 /*  7780 */   340,  340,  340,   20,   21,   22,   23,   24,   25,   26,
 /*  7790 */    27,   28,   29,   30,  340,  340,  340,   34,   35,   36,
 /*  7800 */    37,   38,   39,  340,   41,   42,   43,   44,  340,  340,
 /*  7810 */    47,  340,  340,   50,   51,   52,   53,  340,  340,   56,
 /*  7820 */    57,   58,   59,   60,   61,  142,  340,  144,  145,  340,
 /*  7830 */   340,  340,  149,  150,  151,  152,  153,  154,  155,  340,
 /*  7840 */   157,  340,   79,   80,   81,   82,   83,   84,   85,   86,
 /*  7850 */    87,   88,  340,  340,  340,   92,  340,  340,   95,   96,
 /*  7860 */    97,   98,   99,  100,  101,  102,  103,  104,  340,  340,
 /*  7870 */   340,  340,  340,  110,  340,  340,  340,  340,  340,  116,
 /*  7880 */   117,  118,  119,  340,  121,  122,  340,  340,  340,  340,
 /*  7890 */    10,  340,  340,  340,   14,  340,  340,  340,  340,  340,
 /*  7900 */    20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
 /*  7910 */    30,  340,  340,  340,   34,   35,   36,   37,   38,   39,
 /*  7920 */   340,   41,   42,   43,   44,  340,  340,   47,  340,  340,
 /*  7930 */    50,   51,   52,   53,  340,  340,   56,   57,   58,   59,
 /*  7940 */    60,   61,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  7950 */   340,  340,  340,  340,  340,  340,  340,  340,  340,   79,
 /*  7960 */    80,   81,   82,   83,   84,   85,   86,   87,   88,  340,
 /*  7970 */   340,  340,   92,  340,  340,   95,   96,   97,   98,   99,
 /*  7980 */   100,  101,  102,  103,  104,  340,  130,  340,  340,  340,
 /*  7990 */   110,  340,  340,  340,  340,  340,  116,  117,  118,  119,
 /*  8000 */   340,  121,  340,  147,  148,  340,  340,  340,  340,  340,
 /*  8010 */   154,  340,  340,  340,  331,  332,  333,  334,  335,  336,
 /*  8020 */   337,  338,  339,  340,  340,  340,  340,  340,  340,  340,
 /*  8030 */   174,  340,  340,  340,  340,  340,  340,  340,  182,  340,
 /*  8040 */   184,  185,  340,  340,  340,  189,  190,  340,  192,  340,
 /*  8050 */   340,  195,  130,  340,  340,  340,  340,  340,  340,  340,
 /*  8060 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  147,
 /*  8070 */   148,  340,  340,  340,  340,  340,  154,  340,  340,  340,
 /*  8080 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  8090 */   340,  340,  340,  340,  238,  340,  174,  340,  340,  340,
 /*  8100 */   340,  340,  340,  340,  182,  340,  184,  185,  340,  340,
 /*  8110 */   340,  189,  190,  340,  192,  340,  340,  195,  340,  340,
 /*  8120 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  8130 */   340,  340,  340,  340,  340,  279,  340,  281,  282,  283,
 /*  8140 */   340,  285,  340,  287,  288,  289,  290,  291,  292,  293,
 /*  8150 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /*  8160 */   238,  340,  340,  307,  308,  309,  310,  311,  312,  340,
 /*  8170 */   314,  315,  316,  317,  340,  340,  320,  340,  322,  323,
 /*  8180 */   324,  325,  326,  327,  340,  340,  340,  331,  332,  333,
 /*  8190 */   334,  335,  336,  337,  338,  339,  340,  340,  340,  340,
 /*  8200 */   340,  279,  340,  281,  282,  283,  340,  285,  340,  287,
 /*  8210 */   288,  289,  290,  291,  292,  293,  294,  295,  340,  340,
 /*  8220 */   298,  299,  300,  301,  340,  340,  340,  340,  340,  307,
 /*  8230 */   308,  309,  310,  311,  312,  340,  314,  315,  316,  317,
 /*  8240 */   340,  340,  320,  340,  322,  323,  324,  325,  326,  327,
 /*  8250 */   340,  340,  340,  331,  332,  333,  334,  335,  336,  337,
 /*  8260 */   338,  339,  340,  340,   10,  340,  340,  340,   14,  340,
 /*  8270 */   340,  340,  340,  340,   20,   21,   22,   23,   24,   25,
 /*  8280 */    26,   27,   28,   29,   30,  340,  340,  340,   34,   35,
 /*  8290 */    36,   37,   38,   39,  340,   41,   42,   43,   44,  340,
 /*  8300 */   340,   47,  340,  340,   50,   51,   52,   53,  340,  340,
 /*  8310 */    56,   57,   58,   59,   60,   61,   22,   23,   24,   25,
 /*  8320 */    26,   27,   28,   29,   30,  130,  340,  340,  340,  134,
 /*  8330 */   135,  340,  340,   79,   80,   81,   82,   83,   84,   85,
 /*  8340 */    86,   87,   88,  148,  340,  340,   92,  340,  340,   95,
 /*  8350 */    96,   97,   98,   99,  100,  101,  340,  340,  340,  154,
 /*  8360 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  174,
 /*  8370 */   116,  117,  118,  119,  340,  121,  340,  182,  340,  340,
 /*  8380 */   185,  340,  340,  340,  189,  190,  340,  192,  340,  184,
 /*  8390 */   195,  340,  130,  340,  340,  190,  340,  192,  340,  340,
 /*  8400 */   340,  340,  340,  340,  110,  340,  340,  212,  340,  147,
 /*  8410 */   340,  117,  118,  119,  120,  340,  154,  340,  340,  157,
 /*  8420 */   144,  145,  340,  340,  340,  149,  150,  151,  152,  153,
 /*  8430 */   154,  155,  340,  340,  340,  340,  174,  340,  340,  340,
 /*  8440 */   340,  340,  340,  238,  340,  340,  184,  340,  253,  340,
 /*  8450 */   340,  340,  190,  340,  192,  340,  340,  195,  340,  340,
 /*  8460 */   265,  340,  267,  340,  269,  340,  271,  272,  340,  274,
 /*  8470 */   340,  340,  340,  340,  279,  340,  281,  282,  283,  340,
 /*  8480 */   285,  340,  287,  288,  289,  290,  291,  292,  293,  294,
 /*  8490 */   295,  340,  340,  298,  299,  300,  301,  340,  303,  304,
 /*  8500 */   238,  130,  307,  308,  309,  310,  311,  312,  340,  314,
 /*  8510 */   340,  340,  340,  340,  340,  320,  340,  322,  323,  148,
 /*  8520 */   315,  316,  317,  340,  340,  320,  340,  322,  323,  340,
 /*  8530 */   340,  340,  340,  340,  340,  340,  331,  332,  333,  334,
 /*  8540 */   335,  336,  337,  338,  339,  174,  340,  340,  340,  340,
 /*  8550 */   340,  340,  340,  182,  340,  340,  185,  340,  340,  340,
 /*  8560 */   189,  190,  340,  192,  340,  340,  195,  196,  340,  307,
 /*  8570 */   308,  309,  310,  311,  312,  340,  314,  315,  316,  317,
 /*  8580 */   340,  340,  320,  212,  322,  323,  324,  325,  326,  327,
 /*  8590 */   328,  340,  330,  331,  332,  333,  334,  335,  336,  337,
 /*  8600 */   338,  339,  340,  340,  340,  340,  340,  331,  332,  333,
 /*  8610 */   334,  335,  336,  337,  338,  339,  245,  340,  340,  340,
 /*  8620 */   340,  340,  340,  340,  253,  340,  340,  340,  340,  340,
 /*  8630 */   340,  340,  340,  340,  340,  340,  265,  340,  267,  340,
 /*  8640 */   269,  340,  271,  272,  340,  274,  340,  340,  340,  340,
 /*  8650 */   279,  340,  281,  282,  283,  340,  285,  340,  287,  288,
 /*  8660 */   289,  290,  291,  292,  293,  294,  295,  340,  340,  298,
 /*  8670 */   299,  300,  301,  340,  340,  340,  340,  340,  307,  308,
 /*  8680 */   309,  310,  311,  312,  130,  314,  340,  340,  134,  340,
 /*  8690 */   340,  320,  340,  322,  323,  340,  340,  340,  340,  340,
 /*  8700 */   340,  340,  148,   22,   23,   24,   25,   26,   27,   28,
 /*  8710 */    29,   30,   31,  340,  340,  151,  152,  340,  154,  340,
 /*  8720 */   340,  340,  158,  159,  340,  340,  340,  340,  174,  340,
 /*  8730 */   340,  340,  340,  340,  340,  340,  182,  340,  340,  185,
 /*  8740 */   176,  340,  340,  189,  190,  340,  192,  340,  184,  195,
 /*  8750 */   340,  340,  340,  340,  190,  191,  192,  340,  194,  340,
 /*  8760 */   340,  340,  340,  340,  340,  340,  212,  340,  340,  340,
 /*  8770 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  8780 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  8790 */   340,  110,  340,  340,  340,  340,  340,  340,  117,  118,
 /*  8800 */   119,  120,  238,  340,  340,  340,  340,  253,  340,  340,
 /*  8810 */   246,  247,  248,  249,  250,  251,  252,  340,  340,  265,
 /*  8820 */   340,  267,  340,  269,  340,  271,  272,  340,  274,  340,
 /*  8830 */   340,  340,  340,  279,  340,  281,  282,  283,  340,  285,
 /*  8840 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /*  8850 */   340,  340,  298,  299,  300,  301,  340,  303,  340,  340,
 /*  8860 */   340,  307,  308,  309,  310,  311,  312,  130,  314,  340,
 /*  8870 */   340,  134,  340,  340,  320,  340,  322,  323,  340,  315,
 /*  8880 */   316,  317,  340,  340,  320,  148,  322,  323,  340,  340,
 /*  8890 */   340,  340,  340,  340,  340,  331,  332,  333,  334,  335,
 /*  8900 */   336,  337,  338,  339,  340,  340,  340,  340,  340,  340,
 /*  8910 */   340,  174,   10,  340,  340,  340,   14,  340,  340,  182,
 /*  8920 */   340,  340,  185,  340,  340,  340,  189,  190,  340,  192,
 /*  8930 */   340,  340,  195,  340,  340,  340,   34,  340,   36,   37,
 /*  8940 */    38,   39,  340,   41,   42,   43,   44,  340,   46,  212,
 /*  8950 */   147,  340,   50,   51,   52,   53,  340,  154,   56,   57,
 /*  8960 */    58,   59,   60,   61,  340,  340,   22,   23,   24,   25,
 /*  8970 */    26,   27,   28,   29,   30,  340,  340,  340,  340,  340,
 /*  8980 */   340,  340,  340,  340,  340,  340,  340,  184,  340,  340,
 /*  8990 */   253,  340,  340,  190,  340,  192,  340,  340,  340,  340,
 /*  9000 */   340,  340,  265,  340,  267,  340,  269,  340,  271,  272,
 /*  9010 */   340,  274,  340,  340,  340,  340,  279,  340,  281,  282,
 /*  9020 */   283,  340,  285,  340,  287,  288,  289,  290,  291,  292,
 /*  9030 */   293,  294,  295,  340,  340,  298,  299,  300,  301,  340,
 /*  9040 */   303,  238,  340,  340,  307,  308,  309,  310,  311,  312,
 /*  9050 */   130,  314,  340,  340,  110,  340,  340,  320,  340,  322,
 /*  9060 */   323,  117,  118,  340,  120,  340,  340,  340,  148,  340,
 /*  9070 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9080 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9090 */   340,  340,  340,  340,  174,  340,  340,  340,  340,  340,
 /*  9100 */   340,  340,  182,  340,  340,  185,  340,  340,  340,  189,
 /*  9110 */   190,  340,  192,  340,  340,  195,  340,  340,  315,  316,
 /*  9120 */   317,  340,  340,  320,  340,  322,  323,  324,  325,  326,
 /*  9130 */   327,  340,  212,  340,  331,  332,  333,  334,  335,  336,
 /*  9140 */   337,  338,  339,  340,  340,  340,  340,  340,  340,  340,
 /*  9150 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9160 */   340,  340,  340,  340,  340,  245,  340,  340,  340,  340,
 /*  9170 */   340,  340,  340,  253,  340,  340,  340,  340,  340,  340,
 /*  9180 */   340,  340,  340,  340,  340,  265,  340,  267,  340,  269,
 /*  9190 */   340,  271,  272,  340,  274,  340,  340,  340,  340,  279,
 /*  9200 */   340,  281,  282,  283,  340,  285,  340,  287,  288,  289,
 /*  9210 */   290,  291,  292,  293,  294,  295,  340,  340,  298,  299,
 /*  9220 */   300,  301,  340,  340,  340,  340,  340,  307,  308,  309,
 /*  9230 */   310,  311,  312,  130,  314,  340,  340,  340,  340,  340,
 /*  9240 */   320,  340,  322,  323,  340,  340,  340,  340,  340,  340,
 /*  9250 */   340,  148,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9260 */   147,  340,  340,  340,  340,  340,  340,  154,  340,  340,
 /*  9270 */   340,  340,  340,  340,  340,  340,  340,  174,  340,  340,
 /*  9280 */   340,  340,  340,  340,  340,  182,  340,  340,  185,  340,
 /*  9290 */   340,  340,  189,  190,  340,  192,  340,  184,  195,  340,
 /*  9300 */   340,  340,  340,  190,  340,  192,  340,  340,  340,  340,
 /*  9310 */   340,  340,  340,  340,  340,  212,  340,  340,  340,  340,
 /*  9320 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9330 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9340 */   340,  340,  340,  340,  340,  242,  340,  340,  340,  340,
 /*  9350 */   340,  238,  340,  340,  340,  340,  253,  340,  340,  340,
 /*  9360 */   340,  340,  340,  340,  340,  340,  340,  340,  265,  340,
 /*  9370 */   267,  340,  269,  340,  271,  272,  340,  274,  340,  340,
 /*  9380 */   340,  340,  279,  340,  281,  282,  283,  340,  285,  340,
 /*  9390 */   287,  288,  289,  290,  291,  292,  293,  294,  295,  340,
 /*  9400 */   340,  298,  299,  300,  301,  340,  340,  340,  340,  340,
 /*  9410 */   307,  308,  309,  310,  311,  312,  130,  314,  340,  340,
 /*  9420 */   340,  340,  340,  320,  340,  322,  323,  340,  315,  316,
 /*  9430 */   317,  340,  340,  320,  148,  322,  323,  324,  325,  326,
 /*  9440 */   327,  340,  340,  340,  331,  332,  333,  334,  335,  336,
 /*  9450 */   337,  338,  339,    1,  340,  340,  340,  340,  340,  340,
 /*  9460 */   174,  340,   10,  340,  340,  340,   14,  340,  182,  340,
 /*  9470 */   340,  185,  340,  340,  340,  189,  190,  340,  192,  340,
 /*  9480 */   340,  195,  340,  340,  340,  340,   34,  340,   36,   37,
 /*  9490 */    38,   39,  340,   41,   42,   43,   44,  340,  212,  147,
 /*  9500 */   340,  340,   50,   51,   52,   53,  154,  340,   56,   57,
 /*  9510 */    58,   59,   60,   61,  340,  340,  340,  340,  340,  340,
 /*  9520 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9530 */   340,  340,  340,  340,  340,  340,  184,  340,  340,  253,
 /*  9540 */   340,  340,  190,  340,  192,  340,  340,  340,  340,  340,
 /*  9550 */   340,  265,  340,  267,  340,  269,  340,  271,  272,  340,
 /*  9560 */   274,  340,  340,  340,  340,  279,  340,  281,  282,  283,
 /*  9570 */   340,  285,  340,  287,  288,  289,  290,  291,  292,  293,
 /*  9580 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /*  9590 */   238,  340,  340,  307,  308,  309,  310,  311,  312,  130,
 /*  9600 */   314,  340,  340,  340,  340,  340,  320,  340,  322,  323,
 /*  9610 */   340,  340,  340,  340,  340,  340,  340,  148,  340,  340,
 /*  9620 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9630 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9640 */   340,  340,  340,  174,  340,  340,  340,  340,  340,  340,
 /*  9650 */   340,  182,  340,  340,  185,  340,  340,  340,  189,  190,
 /*  9660 */   340,  192,  340,  340,  195,  340,  340,  315,  316,  317,
 /*  9670 */   340,  340,  320,  340,  322,  323,  324,  325,  326,  327,
 /*  9680 */   340,  212,  340,  331,  332,  333,  334,  335,  336,  337,
 /*  9690 */   338,  339,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9700 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9710 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9720 */   340,  340,  253,  340,  340,  340,  340,  340,  340,  340,
 /*  9730 */   340,  340,  340,  340,  265,  340,  267,  340,  269,  340,
 /*  9740 */   271,  272,  340,  274,  340,  340,  340,  340,  279,  340,
 /*  9750 */   281,  282,  283,  340,  285,  340,  287,  288,  289,  290,
 /*  9760 */   291,  292,  293,  294,  295,  340,  340,  298,  299,  300,
 /*  9770 */   301,  340,  340,  340,  340,  340,  307,  308,  309,  310,
 /*  9780 */   311,  312,  130,  314,  340,  340,  340,  340,  340,  320,
 /*  9790 */   340,  322,  323,  340,  340,  340,  340,  340,  340,  340,
 /*  9800 */   148,  340,  340,  340,  340,  340,  340,  340,  340,  147,
 /*  9810 */   340,  340,  340,  340,  340,  340,  154,  340,  340,  340,
 /*  9820 */   340,  340,  340,  340,  340,  340,  174,  340,  340,  340,
 /*  9830 */   340,  340,  340,  340,  182,  340,  340,  185,  340,  340,
 /*  9840 */   340,  189,  190,  340,  192,  340,  184,  195,  340,  340,
 /*  9850 */   340,  340,  190,  340,  192,  340,  340,  340,  340,  340,
 /*  9860 */   340,  340,  340,  340,  212,  340,  340,  340,  340,  340,
 /*  9870 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9880 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9890 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /*  9900 */   238,  340,  340,  340,  340,  253,  340,  340,  340,  340,
 /*  9910 */   340,  340,  340,  340,  340,  340,  340,  265,  340,  267,
 /*  9920 */   340,  269,  340,  271,  272,  340,  274,  340,  340,  340,
 /*  9930 */   340,  279,  340,  281,  282,  283,  340,  285,  340,  287,
 /*  9940 */   288,  289,  290,  291,  292,  293,  294,  295,  340,  340,
 /*  9950 */   298,  299,  300,  301,  340,  340,  340,  340,  340,  307,
 /*  9960 */   308,  309,  310,  311,  312,  130,  314,  340,  340,  340,
 /*  9970 */   340,  340,  320,  340,  322,  323,  340,  315,  316,  317,
 /*  9980 */   340,  340,  320,  148,  322,  323,  324,  325,  326,  327,
 /*  9990 */   340,  340,  340,  331,  332,  333,  334,  335,  336,  337,
 /* 10000 */   338,  339,  340,  340,  340,  340,  340,  340,   10,  174,
 /* 10010 */   340,  340,   14,  340,  340,  340,  340,  182,  340,  340,
 /* 10020 */   185,  340,  340,  340,  189,  190,  340,  192,  340,  340,
 /* 10030 */   195,  340,   34,  340,   36,   37,   38,   39,  340,   41,
 /* 10040 */    42,   43,   44,  340,  340,   47,  340,  212,   50,   51,
 /* 10050 */    52,   53,  340,  340,   56,   57,   58,   59,   60,   61,
 /* 10060 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10070 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10080 */   340,  340,  340,  340,  340,  340,  340,  340,  253,  340,
 /* 10090 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10100 */   265,  340,  267,  340,  269,  340,  271,  272,  340,  274,
 /* 10110 */   340,  340,  340,  340,  279,  340,  281,  282,  283,  340,
 /* 10120 */   285,  340,  287,  288,  289,  290,  291,  292,  293,  294,
 /* 10130 */   295,  340,  340,  298,  299,  300,  301,  340,  340,  340,
 /* 10140 */   340,  340,  307,  308,  309,  310,  311,  312,  130,  314,
 /* 10150 */   340,  340,  340,  340,  340,  320,  340,  322,  323,  340,
 /* 10160 */   340,  340,  340,  340,  340,  340,  148,  340,  340,  340,
 /* 10170 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10180 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10190 */   340,  340,  174,  340,  340,  340,  340,  340,  340,  340,
 /* 10200 */   182,  340,  340,  185,  340,  340,  340,  189,  190,  340,
 /* 10210 */   192,  340,  340,  195,   10,  340,  340,  340,   14,  340,
 /* 10220 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10230 */   212,  130,  340,  340,  340,  340,  340,  340,   34,  340,
 /* 10240 */    36,   37,   38,   39,  340,   41,   42,   43,   44,   45,
 /* 10250 */   340,  340,  340,  340,   50,   51,   52,   53,  340,  340,
 /* 10260 */    56,   57,   58,   59,   60,   61,  340,  340,  340,  340,
 /* 10270 */   340,  253,  340,  340,  340,  174,  340,  340,  340,  340,
 /* 10280 */   340,  340,  340,  265,  340,  267,  340,  269,  340,  271,
 /* 10290 */   272,  190,  274,  192,  340,  340,  195,  279,  340,  281,
 /* 10300 */   282,  283,  340,  285,  340,  287,  288,  289,  290,  291,
 /* 10310 */   292,  293,  294,  295,  340,  340,  298,  299,  300,  301,
 /* 10320 */   340,  340,  340,  340,  340,  307,  308,  309,  310,  311,
 /* 10330 */   312,  130,  314,  340,  340,  340,  340,  340,  320,  340,
 /* 10340 */   322,  323,  340,  340,  340,  340,  340,  340,  340,  148,
 /* 10350 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10360 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10370 */   340,  340,  130,  340,  340,  174,  340,  340,  340,  340,
 /* 10380 */   340,  340,  340,  182,  340,  340,  185,  340,  340,  340,
 /* 10390 */   189,  190,  340,  192,  340,  340,  195,  340,  340,  340,
 /* 10400 */   340,  340,  340,  340,  340,  340,  340,  340,  307,  308,
 /* 10410 */   309,  310,  311,  312,  340,  314,  174,  340,  340,  340,
 /* 10420 */   340,  320,  340,  322,  323,  340,  340,  340,  340,  340,
 /* 10430 */   340,  340,  190,  340,  192,  340,  340,  195,  340,  340,
 /* 10440 */   340,  340,  340,  340,  243,  340,  340,  340,  340,  340,
 /* 10450 */   340,  340,  340,  340,  253,  340,  340,  340,  340,  340,
 /* 10460 */   340,  340,  340,  340,  340,  340,  265,  340,  267,  340,
 /* 10470 */   269,  340,  271,  272,  340,  274,  340,  340,  340,  340,
 /* 10480 */   279,  340,  281,  282,  283,  340,  285,  340,  287,  288,
 /* 10490 */   289,  290,  291,  292,  293,  294,  295,  340,  340,  298,
 /* 10500 */   299,  300,  301,  340,  340,  340,  340,  340,  307,  308,
 /* 10510 */   309,  310,  311,  312,  130,  314,  340,  340,  340,  340,
 /* 10520 */   340,  320,  340,  322,  323,  340,  340,  340,  340,  340,
 /* 10530 */   340,  340,  148,  340,  340,  340,  340,  340,  340,  340,
 /* 10540 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  307,
 /* 10550 */   308,  309,  310,  311,  312,  340,  314,  340,  174,  340,
 /* 10560 */   340,  340,  320,  340,  322,  323,  182,  340,  340,  185,
 /* 10570 */   340,  340,  340,  189,  190,  340,  192,  340,  340,  195,
 /* 10580 */    10,  340,  340,  340,   14,  340,  340,  340,  340,  340,
 /* 10590 */   340,  340,  340,  340,  340,  340,  212,  340,  340,  340,
 /* 10600 */   340,  340,  340,  340,   34,  340,   36,   37,   38,   39,
 /* 10610 */   340,   41,   42,   43,   44,  340,  340,  340,  340,  340,
 /* 10620 */    50,   51,   52,   53,  340,  340,   56,   57,   58,   59,
 /* 10630 */    60,   61,  340,  340,  340,  340,  340,  253,  340,  340,
 /* 10640 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  265,
 /* 10650 */   340,  267,  340,  269,  340,  271,  272,  340,  274,  340,
 /* 10660 */   340,  340,  340,  279,  340,  281,  282,  283,  340,  285,
 /* 10670 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /* 10680 */   340,  340,  298,  299,  300,  301,  340,  340,  340,  340,
 /* 10690 */   340,  307,  308,  309,  310,  311,  312,  130,  314,  340,
 /* 10700 */   340,  340,  340,  340,  320,  340,  322,  323,  340,  340,
 /* 10710 */   340,  340,  340,  340,  340,  148,  340,  340,  340,  340,
 /* 10720 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10730 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10740 */   340,  174,  340,  340,  340,  340,  340,  340,  340,  182,
 /* 10750 */   340,  340,  185,  340,  340,  340,  189,  190,  340,  192,
 /* 10760 */   340,  340,  195,  340,  340,  340,  340,  340,  340,  340,
 /* 10770 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  212,
 /* 10780 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10790 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10800 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10810 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10820 */   253,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10830 */   340,  340,  265,  340,  267,  340,  269,  340,  271,  272,
 /* 10840 */   340,  274,  340,  340,  340,  340,  279,  340,  281,  282,
 /* 10850 */   283,  340,  285,  340,  287,  288,  289,  290,  291,  292,
 /* 10860 */   293,  294,  295,  340,  340,  298,  299,  300,  301,  340,
 /* 10870 */   340,  340,  340,  340,  307,  308,  309,  310,  311,  312,
 /* 10880 */   130,  314,  340,  340,  340,  340,  340,  320,  340,  322,
 /* 10890 */   323,  340,  340,  340,  340,  340,  340,  340,  148,  340,
 /* 10900 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10910 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10920 */   340,  340,  340,  340,  174,  340,  340,  340,  340,  340,
 /* 10930 */   340,  340,  182,  340,  340,  185,  340,  340,  340,  189,
 /* 10940 */   190,  340,  192,  340,  340,  195,  340,  340,  340,  340,
 /* 10950 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10960 */   340,  340,  212,  340,  340,  340,  340,  340,  340,  340,
 /* 10970 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10980 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 10990 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11000 */   340,  340,  340,  253,  340,  340,  340,  340,  340,  340,
 /* 11010 */   340,  340,  340,  340,  340,  265,  340,  267,  340,  269,
 /* 11020 */   340,  271,  272,  340,  274,  340,  340,  340,  340,  279,
 /* 11030 */   340,  281,  282,  283,  340,  285,  340,  287,  288,  289,
 /* 11040 */   290,  291,  292,  293,  294,  295,  340,  340,  298,  299,
 /* 11050 */   300,  301,  340,  340,  340,  340,  340,  307,  308,  309,
 /* 11060 */   310,  311,  312,  130,  314,  340,  340,  340,  340,  340,
 /* 11070 */   320,  340,  322,  323,  340,  340,  340,  340,  340,  340,
 /* 11080 */   340,  148,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11090 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11100 */   340,  340,  340,  340,  340,  340,  340,  174,  340,  340,
 /* 11110 */   340,  340,  340,  340,  340,  182,  340,  340,  185,  340,
 /* 11120 */   340,  340,  189,  190,  340,  192,  340,  340,  195,  340,
 /* 11130 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11140 */   340,  340,  340,  340,  340,  212,  340,  340,  340,  340,
 /* 11150 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11160 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11170 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11180 */   340,  340,  340,  340,  340,  340,  253,  340,  340,  340,
 /* 11190 */   340,  340,  340,  340,  340,  340,  340,  340,  265,  340,
 /* 11200 */   267,  340,  269,  340,  271,  272,  340,  274,  340,  340,
 /* 11210 */   340,  340,  279,  340,  281,  282,  283,  340,  285,  340,
 /* 11220 */   287,  288,  289,  290,  291,  292,  293,  294,  295,  340,
 /* 11230 */   340,  298,  299,  300,  301,  340,  340,  340,  340,  340,
 /* 11240 */   307,  308,  309,  310,  311,  312,  130,  314,  340,  340,
 /* 11250 */   340,  340,  340,  320,  340,  322,  323,  340,  340,  340,
 /* 11260 */   340,  340,  340,  340,  148,  340,  340,  340,  340,  340,
 /* 11270 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11280 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11290 */   174,  340,  340,  340,  340,  340,  340,  340,  182,  340,
 /* 11300 */   340,  185,  340,  340,  340,  189,  190,  340,  192,  340,
 /* 11310 */   340,  195,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11320 */   340,  340,  340,  340,  340,  340,  340,  340,  212,  340,
 /* 11330 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11340 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11350 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11360 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  253,
 /* 11370 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11380 */   340,  265,  340,  267,  340,  269,  340,  271,  272,  340,
 /* 11390 */   274,  340,  340,  340,  340,  279,  340,  281,  282,  283,
 /* 11400 */   340,  285,  340,  287,  288,  289,  290,  291,  292,  293,
 /* 11410 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /* 11420 */   340,  340,  340,  307,  308,  309,  310,  311,  312,  130,
 /* 11430 */   314,  340,  340,  340,  340,  340,  320,  340,  322,  323,
 /* 11440 */   340,  340,  340,  340,  340,  340,  340,  148,  340,  340,
 /* 11450 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11460 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11470 */   340,  340,  340,  174,  340,  340,  340,  340,  340,  340,
 /* 11480 */   340,  182,  340,  340,  185,  340,  340,  340,  189,  190,
 /* 11490 */   340,  192,  340,  340,  195,  340,  340,  340,  340,  340,
 /* 11500 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11510 */   340,  212,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11520 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11530 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11540 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11550 */   340,  340,  253,  340,  340,  340,  340,  340,  340,  340,
 /* 11560 */   340,  340,  340,  340,  265,  340,  267,  340,  269,  340,
 /* 11570 */   271,  272,  340,  274,  340,  340,  340,  340,  279,  340,
 /* 11580 */   281,  282,  283,  340,  285,  340,  287,  288,  289,  290,
 /* 11590 */   291,  292,  293,  294,  295,  340,  340,  298,  299,  300,
 /* 11600 */   301,  340,  340,  340,  340,  340,  307,  308,  309,  310,
 /* 11610 */   311,  312,  130,  314,  340,  340,  340,  340,  340,  320,
 /* 11620 */   340,  322,  323,  340,  340,  340,  340,  340,  340,  340,
 /* 11630 */   148,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11640 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11650 */   340,  340,  340,  340,  340,  340,  174,  340,  340,  340,
 /* 11660 */   340,  340,  340,  340,  182,  340,  340,  185,  340,  340,
 /* 11670 */   340,  189,  190,  340,  192,  340,  340,  195,  340,  340,
 /* 11680 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11690 */   340,  340,  340,  340,  212,  340,  340,  340,  340,  340,
 /* 11700 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11710 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11720 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11730 */   340,  340,  340,  340,  340,  253,  340,  340,  340,  340,
 /* 11740 */   340,  340,  340,  340,  340,  340,  340,  265,  340,  267,
 /* 11750 */   340,  269,  340,  271,  272,  340,  274,  340,  340,  340,
 /* 11760 */   340,  279,  340,  281,  282,  283,  340,  285,  340,  287,
 /* 11770 */   288,  289,  290,  291,  292,  293,  294,  295,  340,  340,
 /* 11780 */   298,  299,  300,  301,  340,  340,  340,  340,  340,  307,
 /* 11790 */   308,  309,  310,  311,  312,  130,  314,  340,  340,  340,
 /* 11800 */   340,  340,  320,  340,  322,  323,  340,  340,  340,  340,
 /* 11810 */   340,  340,  340,  148,  340,  340,  340,  340,  340,  340,
 /* 11820 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11830 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  174,
 /* 11840 */   340,  340,  340,  340,  340,  340,  340,  182,  340,  340,
 /* 11850 */   185,  340,  340,  340,  189,  190,  340,  192,  340,  340,
 /* 11860 */   195,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11870 */   340,  340,  340,  340,  340,  340,  340,  212,  340,  340,
 /* 11880 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11890 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11900 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11910 */   340,  340,  340,  340,  340,  340,  340,  340,  253,  340,
 /* 11920 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 11930 */   265,  340,  267,  340,  269,  340,  271,  272,  340,  274,
 /* 11940 */   340,  340,  340,  340,  279,  340,  281,  282,  283,  340,
 /* 11950 */   285,  340,  287,  288,  289,  290,  291,  292,  293,  294,
 /* 11960 */   295,  340,  340,  298,  299,  300,  301,  340,  340,  340,
 /* 11970 */   340,  340,  307,  308,  309,  310,  311,  312,  130,  314,
 /* 11980 */   340,  340,  340,  340,  340,  320,  340,  322,  323,  340,
 /* 11990 */   340,  340,  340,  340,  340,  340,  148,  340,  340,  340,
 /* 12000 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12010 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12020 */   340,  340,  174,  340,  340,  340,  340,  340,  340,  340,
 /* 12030 */   182,  340,  340,  185,  340,  340,  340,  189,  190,  340,
 /* 12040 */   192,  340,  340,  195,  340,  340,  340,  340,  340,  340,
 /* 12050 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12060 */   212,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12070 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12080 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12090 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12100 */   340,  253,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12110 */   340,  340,  340,  265,  340,  267,  340,  269,  340,  271,
 /* 12120 */   272,  340,  274,  340,  340,  340,  340,  279,  340,  281,
 /* 12130 */   282,  283,  340,  285,  340,  287,  288,  289,  290,  291,
 /* 12140 */   292,  293,  294,  295,  340,  340,  298,  299,  300,  301,
 /* 12150 */   340,  340,  340,  340,  340,  307,  308,  309,  310,  311,
 /* 12160 */   312,  130,  314,  340,  340,  340,  340,  340,  320,  340,
 /* 12170 */   322,  323,  340,  340,  340,  340,  340,  340,  340,  148,
 /* 12180 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12190 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12200 */   340,  340,  340,  340,  340,  174,  340,  340,  340,  340,
 /* 12210 */   340,  340,  340,  182,  340,  340,  185,  340,  340,  340,
 /* 12220 */   189,  190,  340,  192,  340,  340,  195,  340,  340,  340,
 /* 12230 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12240 */   340,  340,  340,  212,  340,  340,  340,  340,  340,  340,
 /* 12250 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12260 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12270 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12280 */   340,  340,  340,  340,  253,  340,  340,  340,  340,  340,
 /* 12290 */   340,  340,  340,  340,  340,  340,  265,  340,  267,  340,
 /* 12300 */   269,  340,  271,  272,  340,  274,  340,  340,  340,  340,
 /* 12310 */   279,  340,  281,  282,  283,  340,  285,  340,  287,  288,
 /* 12320 */   289,  290,  291,  292,  293,  294,  295,  340,  340,  298,
 /* 12330 */   299,  300,  301,  340,  340,  340,  340,  340,  307,  308,
 /* 12340 */   309,  310,  311,  312,  130,  314,  340,  340,  340,  340,
 /* 12350 */   340,  320,  340,  322,  323,  340,  340,  340,  340,  340,
 /* 12360 */   340,  340,  148,  340,  340,  340,  340,  340,  340,  340,
 /* 12370 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12380 */   340,  340,  340,  340,  340,  340,  340,  340,  174,  340,
 /* 12390 */   340,  340,  340,  340,  340,  340,  182,  340,  340,  185,
 /* 12400 */   340,  340,  340,  189,  190,  340,  192,  340,  340,  195,
 /* 12410 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12420 */   340,  340,  340,  340,  340,  340,  212,  340,  340,  340,
 /* 12430 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12440 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12450 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12460 */   340,  340,  340,  340,  340,  340,  340,  253,  340,  340,
 /* 12470 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  265,
 /* 12480 */   340,  267,  340,  269,  340,  271,  272,  340,  274,  340,
 /* 12490 */   340,  340,  340,  279,  340,  281,  282,  283,  340,  285,
 /* 12500 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /* 12510 */   340,  340,  298,  299,  300,  301,  340,  340,  340,  340,
 /* 12520 */   340,  307,  308,  309,  310,  311,  312,  130,  314,  340,
 /* 12530 */   340,  340,  340,  340,  320,  340,  322,  323,  340,  340,
 /* 12540 */   340,  340,  340,  340,  340,  148,  340,  340,  340,  340,
 /* 12550 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12560 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12570 */   340,  174,  340,  340,  340,  340,  340,  340,  340,  182,
 /* 12580 */   340,  340,  185,  340,  340,  340,  189,  190,  340,  192,
 /* 12590 */   340,  340,  195,  340,  340,  340,  340,  340,  130,  340,
 /* 12600 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12610 */   340,  340,  340,  340,  340,  340,  148,  340,  340,  340,
 /* 12620 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12630 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12640 */   340,  340,  174,  340,  340,  340,  340,  340,  340,  340,
 /* 12650 */   182,  340,  340,  185,  340,  340,  340,  189,  190,  340,
 /* 12660 */   192,  340,  265,  195,  267,  340,  269,  340,  271,  272,
 /* 12670 */   340,  274,  340,  340,  340,  340,  279,  340,  281,  282,
 /* 12680 */   283,  340,  285,  340,  287,  288,  289,  290,  291,  292,
 /* 12690 */   293,  294,  295,  340,  340,  298,  299,  300,  301,  340,
 /* 12700 */   340,  340,  340,  340,  307,  308,  309,  310,  311,  312,
 /* 12710 */   340,  314,  340,  340,  340,  340,  340,  320,  340,  322,
 /* 12720 */   323,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12730 */   340,  340,  340,  340,  340,  267,  340,  269,  340,  271,
 /* 12740 */   272,  340,  274,  340,  340,  340,  340,  279,  340,  281,
 /* 12750 */   282,  283,  340,  285,  340,  287,  288,  289,  290,  291,
 /* 12760 */   292,  293,  294,  295,  340,  340,  298,  299,  300,  301,
 /* 12770 */   340,  340,  340,  340,  340,  307,  308,  309,  310,  311,
 /* 12780 */   312,  130,  314,  340,  340,  340,  340,  340,  320,  340,
 /* 12790 */   322,  323,  340,  340,  340,  340,  340,  340,  340,  148,
 /* 12800 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12810 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12820 */   340,  340,  340,  340,  340,  174,  130,  340,  340,  340,
 /* 12830 */   340,  340,  340,  182,  340,  340,  185,  340,  340,  340,
 /* 12840 */   189,  190,  340,  192,  148,  340,  195,  340,  340,  340,
 /* 12850 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12860 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12870 */   174,  340,  340,  340,  340,  340,  340,  340,  182,  340,
 /* 12880 */   340,  185,  340,  340,  340,  189,  190,  340,  192,  340,
 /* 12890 */   340,  195,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12900 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12910 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 12920 */   269,  340,  271,  272,  340,  274,  340,  340,  340,  340,
 /* 12930 */   279,  340,  281,  282,  283,  340,  285,  340,  287,  288,
 /* 12940 */   289,  290,  291,  292,  293,  294,  295,  340,  340,  298,
 /* 12950 */   299,  300,  301,  340,  340,  340,  340,  340,  307,  308,
 /* 12960 */   309,  310,  311,  312,  340,  314,  340,  271,  272,  340,
 /* 12970 */   274,  320,  340,  322,  323,  279,  340,  281,  282,  283,
 /* 12980 */   340,  285,  340,  287,  288,  289,  290,  291,  292,  293,
 /* 12990 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /* 13000 */   340,  340,  340,  307,  308,  309,  310,  311,  312,  340,
 /* 13010 */   314,  340,  340,  340,  340,  340,  320,   10,  322,  323,
 /* 13020 */   340,   14,  340,  340,  340,  340,  340,   20,  340,   22,
 /* 13030 */    23,   24,   25,   26,   27,   28,   29,   30,  340,  340,
 /* 13040 */   340,   34,   35,   36,   37,   38,   39,  340,   41,   42,
 /* 13050 */    43,   44,  340,  340,  340,  340,  340,   50,   51,   52,
 /* 13060 */    53,  340,  340,   56,   57,   58,   59,   60,   61,  340,
 /* 13070 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13080 */   340,  340,  340,  340,  340,  340,   79,   80,   81,   82,
 /* 13090 */    83,   84,   85,  340,  340,  340,  340,   10,  340,  340,
 /* 13100 */   340,   14,  340,  340,  340,  340,  340,  340,  340,   22,
 /* 13110 */    23,   24,   25,   26,   27,   28,   29,   30,  340,  340,
 /* 13120 */   340,   34,   35,   36,   37,   38,   39,  340,   41,   42,
 /* 13130 */    43,   44,  340,  340,  130,  340,  340,   50,   51,   52,
 /* 13140 */    53,  340,  340,   56,   57,   58,   59,   60,   61,  340,
 /* 13150 */   340,  340,  148,  340,  340,  340,  340,  340,  340,  340,
 /* 13160 */   340,  340,  340,  340,  340,  340,   79,   80,   81,   82,
 /* 13170 */    83,   84,   85,  340,  340,  340,  340,  340,  174,  340,
 /* 13180 */    93,  340,  340,  340,  340,  340,  182,  340,  340,  185,
 /* 13190 */   340,   10,  340,  189,  190,   14,  192,  340,  340,  195,
 /* 13200 */   340,  340,  340,   22,   23,   24,   25,   26,   27,   28,
 /* 13210 */    29,   30,  340,  340,  340,   34,   35,   36,   37,   38,
 /* 13220 */    39,  340,   41,   42,   43,   44,  340,  340,  340,  340,
 /* 13230 */   340,   50,   51,   52,   53,  340,  340,   56,   57,   58,
 /* 13240 */    59,   60,   61,  340,  340,  340,  340,  340,  340,  340,
 /* 13250 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13260 */    79,   80,   81,   82,   83,   84,   85,  340,  340,  340,
 /* 13270 */   340,  340,  340,  340,  340,  340,  272,  340,  274,  340,
 /* 13280 */   340,  340,  340,  279,  340,  281,  282,  283,  340,  285,
 /* 13290 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /* 13300 */   340,  130,  298,  299,  300,  301,  340,  340,  340,  340,
 /* 13310 */   340,  307,  308,  309,  310,  311,  312,  340,  314,  148,
 /* 13320 */   340,  340,  340,  340,  320,  340,  322,  323,  340,  340,
 /* 13330 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13340 */   340,  340,  340,  340,  340,  174,  130,  340,  340,  340,
 /* 13350 */   340,  340,  340,  182,  340,  340,  185,  340,  340,  340,
 /* 13360 */   189,  190,  340,  192,  148,  340,  195,  340,  340,  340,
 /* 13370 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13380 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13390 */   174,  340,  340,  340,  340,  340,  340,  340,  182,  340,
 /* 13400 */   340,  185,  340,  340,  340,  189,  190,  340,  192,  340,
 /* 13410 */   340,  195,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13420 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13430 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13440 */   340,  340,  340,  340,  340,  274,  340,  340,  340,  340,
 /* 13450 */   279,  340,  281,  282,  283,  340,  285,  340,  287,  288,
 /* 13460 */   289,  290,  291,  292,  293,  294,  295,  340,  340,  298,
 /* 13470 */   299,  300,  301,  340,  340,  340,  340,  340,  307,  308,
 /* 13480 */   309,  310,  311,  312,  340,  314,  340,  340,  340,  340,
 /* 13490 */   274,  320,  340,  322,  323,  279,  340,  281,  282,  283,
 /* 13500 */   340,  285,  340,  287,  288,  289,  290,  291,  292,  293,
 /* 13510 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /* 13520 */   340,  340,  340,  307,  308,  309,  310,  311,  312,  130,
 /* 13530 */   314,  340,  340,  340,  340,  340,  320,  340,  322,  323,
 /* 13540 */   340,  340,  340,  340,  340,  340,  340,  148,  340,  340,
 /* 13550 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13560 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13570 */   340,  340,  340,  174,  340,  340,  340,  340,  340,  340,
 /* 13580 */   340,  182,  340,  130,  185,  340,  340,  340,  189,  190,
 /* 13590 */   340,  192,  340,  340,  195,  340,  340,  340,  340,  340,
 /* 13600 */   340,  148,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13610 */   340,  340,  130,  340,  340,  340,  340,  340,  340,  340,
 /* 13620 */   340,  340,  340,  340,  340,  340,  340,  174,  340,  340,
 /* 13630 */   340,  340,  340,  340,  340,  182,  340,  340,  185,  340,
 /* 13640 */   340,  340,  189,  190,  340,  192,  340,  340,  195,  340,
 /* 13650 */   340,  340,  340,  340,  340,  340,  174,  340,  340,  340,
 /* 13660 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13670 */   340,  340,  190,  340,  192,  340,  340,  195,  279,  340,
 /* 13680 */   281,  282,  283,  340,  285,  340,  287,  288,  289,  290,
 /* 13690 */   291,  292,  293,  294,  295,  340,  340,  298,  299,  300,
 /* 13700 */   301,  340,  340,  340,  340,  340,  307,  308,  309,  310,
 /* 13710 */   311,  312,  340,  314,  340,  340,  340,  340,  340,  320,
 /* 13720 */   340,  322,  323,  340,  340,  340,  340,  340,  340,  340,
 /* 13730 */   340,  340,  279,  340,  281,  282,  283,  340,  285,  340,
 /* 13740 */   287,  288,  289,  290,  291,  292,  293,  294,  295,  340,
 /* 13750 */   340,  298,  299,  300,  301,  340,  340,  340,  340,  340,
 /* 13760 */   307,  308,  309,  310,  311,  312,  130,  314,  340,  287,
 /* 13770 */   288,  340,  340,  320,  292,  322,  323,  295,  340,  340,
 /* 13780 */   298,  299,  300,  301,  148,  340,  340,  340,  340,  307,
 /* 13790 */   308,  309,  310,  311,  312,  340,  314,  340,  340,  340,
 /* 13800 */   340,  340,  320,  340,  322,  323,  340,  340,  340,  340,
 /* 13810 */   174,  130,  340,  340,  340,  340,  340,  340,  182,  340,
 /* 13820 */   340,  185,  340,  340,  340,  189,  190,  340,  192,  148,
 /* 13830 */   340,  195,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13840 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13850 */   340,  340,  340,  340,  340,  174,  340,  340,  340,  340,
 /* 13860 */   340,  340,  340,  182,  340,  340,  185,  340,  340,  340,
 /* 13870 */   189,  190,  340,  192,  340,  340,  195,  340,  340,  340,
 /* 13880 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13890 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13900 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 13910 */   340,  340,  340,  340,  340,  279,  340,  281,  282,  283,
 /* 13920 */   340,  285,  340,  287,  288,  289,  290,  291,  292,  293,
 /* 13930 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /* 13940 */   340,  340,  340,  307,  308,  309,  310,  311,  312,  340,
 /* 13950 */   314,  340,  340,  340,  340,  340,  320,  340,  322,  323,
 /* 13960 */   279,  340,  281,  282,  283,  340,  285,  340,  287,  288,
 /* 13970 */   289,  290,  291,  292,  293,  294,  295,  340,  340,  298,
 /* 13980 */   299,  300,  301,  340,  340,  340,  130,  340,  307,  308,
 /* 13990 */   309,  310,  311,  312,  340,  314,  340,  340,  340,  340,
 /* 14000 */   340,  320,  340,  322,  323,  340,  340,  130,  340,  340,
 /* 14010 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14020 */   340,  340,  340,  340,  147,  340,  340,  340,  340,  340,
 /* 14030 */   174,  154,  340,  340,  340,  340,  340,  340,  182,  340,
 /* 14040 */   340,  185,  340,  340,  340,  189,  190,  340,  192,  340,
 /* 14050 */   340,  195,  340,  340,  340,  178,  340,  340,  340,  182,
 /* 14060 */   340,  184,  185,  340,  340,  130,  340,  190,  340,  192,
 /* 14070 */   340,  340,  195,  196,  197,  198,  340,  340,  340,  340,
 /* 14080 */   340,  340,  147,  340,  340,  340,  340,  340,  340,  154,
 /* 14090 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14100 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14110 */   340,  340,  340,  178,  340,  238,  340,  182,  340,  184,
 /* 14120 */   185,  340,  340,  340,  340,  190,  340,  192,  251,  340,
 /* 14130 */   195,  196,  197,  198,  340,  279,  340,  281,  282,  283,
 /* 14140 */   340,  285,  340,  287,  288,  289,  290,  291,  292,  293,
 /* 14150 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /* 14160 */   340,  340,  340,  307,  308,  309,  310,  311,  312,  340,
 /* 14170 */   314,  340,  340,  238,  340,  340,  320,  130,  322,  323,
 /* 14180 */   340,  340,  305,  306,  340,  340,  251,  340,  340,  340,
 /* 14190 */   340,  340,  315,  316,  317,  340,  340,  320,  340,  322,
 /* 14200 */   323,  324,  325,  326,  327,  340,  340,  340,  331,  332,
 /* 14210 */   333,  334,  335,  336,  337,  338,  339,  340,  340,  340,
 /* 14220 */   340,  174,  340,  340,  340,  340,  340,  340,  340,  182,
 /* 14230 */   340,  340,  185,  340,  340,  340,  189,  190,  340,  192,
 /* 14240 */   305,  306,  195,  340,  130,  340,  340,  340,  340,  340,
 /* 14250 */   315,  316,  317,  340,  340,  320,  340,  322,  323,  324,
 /* 14260 */   325,  326,  327,  340,  340,  340,  331,  332,  333,  334,
 /* 14270 */   335,  336,  337,  338,  339,  340,  340,  340,  340,  340,
 /* 14280 */   340,  340,  340,  340,  340,  340,  340,  340,  174,  340,
 /* 14290 */   340,  340,  340,  340,  340,  340,  182,  340,  340,  185,
 /* 14300 */   340,  340,  340,  189,  190,  340,  192,  340,  340,  195,
 /* 14310 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14320 */   340,  340,  340,  340,  340,  340,  279,  340,  281,  282,
 /* 14330 */   283,  340,  285,  340,  287,  288,  289,  290,  291,  292,
 /* 14340 */   293,  294,  295,  340,  340,  298,  299,  300,  301,  340,
 /* 14350 */   340,  340,  340,  340,  307,  308,  309,  310,  311,  312,
 /* 14360 */   340,  314,  340,  340,  340,  340,  340,  320,  340,  322,
 /* 14370 */   323,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14380 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14390 */   340,  340,  340,  130,  340,  281,  282,  283,  340,  285,
 /* 14400 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /* 14410 */   147,  340,  298,  299,  300,  301,  340,  154,  340,  340,
 /* 14420 */   340,  307,  308,  309,  310,  311,  312,  130,  314,  340,
 /* 14430 */   340,  340,  340,  340,  320,  340,  322,  323,  340,  340,
 /* 14440 */   340,  178,  340,  340,  147,  182,  340,  184,  185,  340,
 /* 14450 */   340,  154,  340,  190,  340,  192,  340,  340,  195,  340,
 /* 14460 */   197,  198,  340,  340,  340,  340,  130,  340,  340,  340,
 /* 14470 */   340,  174,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14480 */   340,  184,  340,  147,  340,  340,  340,  190,  340,  192,
 /* 14490 */   154,  340,  195,  340,  340,  340,  340,  340,  340,  340,
 /* 14500 */   340,  238,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14510 */   174,  340,  340,  340,  251,  340,  340,  340,  340,  340,
 /* 14520 */   184,  340,  340,  340,  340,  340,  190,  340,  192,  340,
 /* 14530 */   340,  195,  340,  340,  340,  238,  340,  340,  340,  340,
 /* 14540 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14550 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14560 */   340,  340,  340,  340,  340,  340,  340,  340,  305,  306,
 /* 14570 */   340,  340,  340,  340,  238,  340,  340,  340,  315,  316,
 /* 14580 */   317,  340,  340,  320,  340,  322,  323,  324,  325,  326,
 /* 14590 */   327,  340,  340,  340,  331,  332,  333,  334,  335,  336,
 /* 14600 */   337,  338,  339,  340,  307,  308,  309,  310,  311,  312,
 /* 14610 */   340,  314,  315,  316,  317,  340,  340,  320,  340,  322,
 /* 14620 */   323,  324,  325,  326,  327,  340,  340,  340,  331,  332,
 /* 14630 */   333,  334,  335,  336,  337,  338,  339,  340,  340,  340,
 /* 14640 */   340,  130,  340,  307,  308,  309,  310,  311,  312,  340,
 /* 14650 */   314,  315,  316,  317,  340,  340,  320,  340,  322,  323,
 /* 14660 */   324,  325,  326,  327,  340,  340,  130,  331,  332,  333,
 /* 14670 */   334,  335,  336,  337,  338,  339,  340,  340,  340,  340,
 /* 14680 */   340,  340,  340,  147,  340,  174,  340,  340,  340,  340,
 /* 14690 */   154,  340,  340,  182,  340,  340,  185,  340,  340,  340,
 /* 14700 */   189,  190,  340,  192,  340,  340,  195,  340,  340,  340,
 /* 14710 */   340,  340,  340,  340,  178,  340,  340,  340,  182,  340,
 /* 14720 */   184,  185,  340,  340,  340,  340,  190,  340,  192,  340,
 /* 14730 */   340,  195,  340,  340,  198,  340,  340,  340,  340,  340,
 /* 14740 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14750 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14760 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14770 */   340,  340,  340,  340,  238,  340,  340,  340,  340,  340,
 /* 14780 */   340,  340,  340,  340,  130,  340,  340,  251,  340,  340,
 /* 14790 */   340,  340,  281,  282,  283,  340,  285,  340,  287,  288,
 /* 14800 */   289,  290,  291,  292,  293,  294,  295,  340,  340,  298,
 /* 14810 */   299,  300,  301,  340,  340,  340,  340,  340,  307,  308,
 /* 14820 */   309,  310,  311,  312,  340,  314,  340,  340,  174,  340,
 /* 14830 */   340,  320,  130,  322,  323,  340,  182,  340,  340,  185,
 /* 14840 */   340,  305,  306,  189,  190,  340,  192,  340,  340,  195,
 /* 14850 */   340,  315,  316,  317,  340,  340,  320,  340,  322,  323,
 /* 14860 */   324,  325,  326,  327,  340,  340,  340,  331,  332,  333,
 /* 14870 */   334,  335,  336,  337,  338,  339,  174,  340,  340,  340,
 /* 14880 */   340,  340,  340,  340,  182,  340,  340,  185,  340,  340,
 /* 14890 */   340,  189,  190,  340,  192,  340,  340,  195,  340,  340,
 /* 14900 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14910 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14920 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 14930 */   340,  340,  340,  340,  340,  281,  340,  283,  340,  285,
 /* 14940 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /* 14950 */   340,  340,  298,  299,  300,  301,  340,  340,  340,  340,
 /* 14960 */   340,  307,  308,  309,  310,  311,  312,  340,  314,  340,
 /* 14970 */   340,  340,  340,  340,  320,  130,  322,  323,  340,  340,
 /* 14980 */   340,  340,  340,  281,  340,  283,  340,  285,  340,  287,
 /* 14990 */   288,  289,  290,  291,  292,  293,  294,  295,  340,  340,
 /* 15000 */   298,  299,  300,  301,  340,  340,  340,  340,  340,  307,
 /* 15010 */   308,  309,  310,  311,  312,  340,  314,  340,  130,  174,
 /* 15020 */   340,  340,  320,  340,  322,  323,  340,  182,  340,  340,
 /* 15030 */   185,  340,  340,  340,  189,  190,  340,  192,  340,  340,
 /* 15040 */   195,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15050 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15060 */   340,  340,  174,  340,  340,  340,  340,  340,  340,  340,
 /* 15070 */   182,  340,  340,  185,  340,  340,  340,  189,  190,  340,
 /* 15080 */   192,  340,  340,  195,  340,  340,  340,  340,  340,  340,
 /* 15090 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15100 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15110 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15120 */   340,  340,  340,  340,  340,  340,  281,  340,  283,  340,
 /* 15130 */   285,  340,  287,  288,  289,  290,  291,  292,  293,  294,
 /* 15140 */   295,  340,  340,  298,  299,  300,  301,  340,  340,  340,
 /* 15150 */   340,  340,  307,  308,  309,  310,  311,  312,  340,  314,
 /* 15160 */   340,  130,  340,  340,  340,  320,  340,  322,  323,  281,
 /* 15170 */   340,  283,  340,  340,  340,  287,  288,  289,  290,  291,
 /* 15180 */   292,  293,  294,  295,  340,  340,  298,  299,  300,  301,
 /* 15190 */   340,  340,  340,  340,  340,  307,  308,  309,  310,  311,
 /* 15200 */   312,  340,  314,  340,  130,  174,  340,  340,  320,  340,
 /* 15210 */   322,  323,  340,  182,  340,  340,  185,  340,  340,  340,
 /* 15220 */   189,  190,  340,  192,  340,  340,  195,  340,  340,  340,
 /* 15230 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15240 */   340,  340,  340,  340,  340,  340,  340,  340,  174,  340,
 /* 15250 */   340,  340,  340,  340,  340,  340,  182,  340,  340,  185,
 /* 15260 */   340,  340,  340,  189,  190,  340,  192,  340,  340,  195,
 /* 15270 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15280 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15290 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15300 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15310 */   340,  340,  281,  340,  283,  340,  340,  340,  287,  288,
 /* 15320 */   289,  290,  291,  292,  293,  294,  295,  340,  340,  298,
 /* 15330 */   299,  300,  301,  340,  340,  340,  340,  340,  307,  308,
 /* 15340 */   309,  310,  311,  312,  340,  314,  340,  130,  340,  340,
 /* 15350 */   340,  320,  340,  322,  323,  281,  340,  283,  340,  340,
 /* 15360 */   340,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 /* 15370 */   340,  340,  298,  299,  300,  301,  340,  340,  340,  340,
 /* 15380 */   340,  307,  308,  309,  310,  311,  312,  340,  314,  340,
 /* 15390 */   130,  174,  340,  340,  320,  340,  322,  323,  340,  182,
 /* 15400 */   340,  340,  185,  340,  340,  340,  189,  190,  340,  192,
 /* 15410 */   340,  340,  195,  340,  340,  340,  340,  340,  340,  340,
 /* 15420 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15430 */   340,  340,  340,  340,  174,  340,  340,  340,  340,  340,
 /* 15440 */   340,  340,  182,  340,  340,  185,  340,  340,  340,  189,
 /* 15450 */   190,  340,  192,  340,  340,  195,  340,  340,  340,  340,
 /* 15460 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15470 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15480 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15490 */   340,  340,  340,  340,  340,  340,  340,  340,  281,  340,
 /* 15500 */   283,  340,  340,  340,  287,  288,  289,  290,  291,  292,
 /* 15510 */   293,  294,  295,  340,  340,  298,  299,  300,  301,  340,
 /* 15520 */   340,  340,  340,  340,  307,  308,  309,  310,  311,  312,
 /* 15530 */   340,  314,  340,  130,  340,  340,  340,  320,  340,  322,
 /* 15540 */   323,  281,  340,  283,  340,  340,  340,  287,  288,  289,
 /* 15550 */   290,  291,  292,  293,  294,  295,  340,  340,  298,  299,
 /* 15560 */   300,  301,  340,  340,  340,  340,  340,  307,  308,  309,
 /* 15570 */   310,  311,  312,  340,  314,  340,  130,  174,  340,  340,
 /* 15580 */   320,  340,  322,  323,  340,  182,  340,  340,  185,  340,
 /* 15590 */   340,  340,  189,  190,  340,  192,  340,  340,  195,  340,
 /* 15600 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15610 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15620 */   174,  340,  340,  340,  340,  340,  340,  340,  182,  340,
 /* 15630 */   340,  185,  340,  340,  340,  189,  190,  340,  192,  340,
 /* 15640 */   340,  195,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15650 */   340,  340,  340,  340,  340,  340,  130,  340,  340,  340,
 /* 15660 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15670 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15680 */   340,  340,  340,  340,  281,  340,  283,  340,  340,  340,
 /* 15690 */   287,  288,  289,  290,  291,  292,  293,  294,  295,  340,
 /* 15700 */   174,  298,  299,  300,  301,  340,  340,  340,  340,  340,
 /* 15710 */   307,  308,  309,  310,  311,  312,  190,  314,  192,  130,
 /* 15720 */   340,  195,  340,  320,  340,  322,  323,  281,  340,  283,
 /* 15730 */   340,  340,  340,  287,  288,  289,  290,  291,  292,  293,
 /* 15740 */   294,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /* 15750 */   340,  340,  340,  307,  308,  309,  310,  311,  312,  340,
 /* 15760 */   314,  340,  340,  174,  340,  340,  320,  340,  322,  323,
 /* 15770 */   340,  182,  340,  340,  185,  340,  340,  340,  189,  190,
 /* 15780 */   340,  192,  340,  340,  195,  340,  340,  340,  340,  340,
 /* 15790 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15800 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15810 */   340,  340,  340,  287,  288,  340,  340,  340,  292,  340,
 /* 15820 */   340,  295,  340,  340,  298,  299,  300,  301,  340,  340,
 /* 15830 */   340,  340,  340,  307,  308,  309,  310,  311,  312,  340,
 /* 15840 */   314,  340,  340,  340,  340,  340,  320,  340,  322,  323,
 /* 15850 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15860 */   340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
 /* 15870 */   281,  340,  283,  340,  340,  340,  287,  288,  289,  290,
 /* 15880 */   291,  292,  293,  294,  295,  340,  340,  298,  299,  300,
 /* 15890 */   301,  340,  340,  340,  340,  340,  307,  308,  309,  310,
 /* 15900 */   311,  312,  340,  314,  340,  340,  340,  340,  340,  320,
 /* 15910 */   340,  322,  323,
);
    const YY_SHIFT_USE_DFLT = -70;
    const YY_SHIFT_MAX = 589;
    static public $yy_shift_ofst = array(
 /*     0 */  7646, 7298, 7298, 7412, 7529, 7529, 7529, 7880, 7529, 7529,
 /*    10 */  7529, 7763, 7529, 7880, 7880, 7880, 7880, 7880, 7880, 7880,
 /*    20 */  7880, 7880, 7880, 7880, 7880, 7880, 8254, 8254, 8254, 8254,
 /*    30 */  8254, 13087, 13007, 13181, 13181, 13181, 13181, 13181, 13181, 13181,
 /*    40 */  7157, 7157, 7157, 7085, 9998, 9452, 9998, 10204, 10570, 8902,
 /*    50 */  10570, 10570, 10570, 10570, 10570, 10570, 10570, 10570, 10570, 10570,
 /*    60 */  10570, 10570, 10570, 10570, 10570, 10570, 10570, 10570, 10570, 10570,
 /*    70 */  10570, 10570, 10570, 5591, 10570, 10570, 10570, 10570, 10570, 10570,
 /*    80 */  6375, 6375, 10570, 10570, 5983, 5983, 5338, 10570, 10570, 10570,
 /*    90 */  5736, 5338, 10570, 10570, 10570, 10570, 10570, 10570, 10570, 10570,
 /*   100 */   658,  658,  658,  658,  214,  214, 8681,  658,  658, 4297,
 /*   110 */  8294, 1303, 1717, 8944,  304,  304, 1717,  825, 1930,   36,
 /*   120 */    36,  376,  376,  376,   36,  307,  307,  307,  -19,  -19,
 /*   130 */   -19,  -19,  588,  708,  672,  486,  569,  323,  152,  152,
 /*   140 */   323,  323,  374,  628,  486,  642,  581,  581,  439,  873,
 /*   150 */   806,  895,  168,  113,  -25,  736,  168,   25,   25,   25,
 /*   160 */    25,  -25,  -25,  915,  741,  913,  900,  955, 1213, 1023,
 /*   170 */   955, 1270,  955,  955,  112,  249,  594,  421,  208,  421,
 /*   180 */   421,  421,  849,  594,  581,  849,  916,  208,  421,  594,
 /*   190 */   421,  854,  782,  594,  782,  854,  813,  208,  208,  249,
 /*   200 */   581,  351,  593,  741,  108,  249,  249,  208,   26,  208,
 /*   210 */   421,  581,  594,  208,  421,  813,  421,  782,  581,  581,
 /*   220 */   817,  351, 1213,  955,  112,  955,  955,  955, 1270,  934,
 /*   230 */   692,  774,  677,    3,  656, 1226,  -69, 1274, 1290,  -69,
 /*   240 */  1290, 1023, 1274,  -69,  -69,  955,  -69,  934,  -69,  444,
 /*   250 */  1274,  -69, 1278,  955,  -69,  -69,  -69,  444,  -69,  -69,
 /*   260 */  1226,  -69,  -69,  -69,  -69,  -69,  112,  444,  -69,  -69,
 /*   270 */   -69,  -69,  -69,  -69,  -69,  -69, 1088,  -69,  934,  -69,
 /*   280 */  1219, 1240, 1183,  -69, 1256, 1231,  -69,  -69, 1076,  -69,
 /*   290 */   -69,  -69,  -69,  -69,  444,  -69, 1114,  -69,  -69,  -69,
 /*   300 */   -69,  -69,  -69,  934, 1240,  -69,  -69,  934,  -69,  -69,
 /*   310 */   -69,  -69,  -69,  -69,  444, 1487, 1231, 1076,  -69,  -69,
 /*   320 */  1231, 1183, 1183, 1231,  -69,  955,  -69, 1256,  -69,  -69,
 /*   330 */   -69,  -69, 1356, 1219,  -69,  444,  -69,  -69,  -69,  955,
 /*   340 */   -69,  934, 1064,  -69,  -69, 1064,  -69,  -69,  -69, 1064,
 /*   350 */   -69,  -69,  -69, 1023, 1064, 1023, 1058,  934,  -69,  -69,
 /*   360 */   -69,  -69,  -69,  -69, 1058,  -69,  -69,  -69, 1064,  -69,
 /*   370 */  1076,  -69, 1058,  -69,  -69, 1058, 1076,  -69, 1058,  -69,
 /*   380 */   -69,  926,  -69,  -69,  955,  -69, 1023,  -69,  -69,  -69,
 /*   390 */   -69,  -69, 1064,  -69,  -69,  -69, 1023,  -69,  -69,  -69,
 /*   400 */   -69,  -69,  -69,  -69,  -69,  -69,  955,  926,  -69,  -69,
 /*   410 */   -69,  444,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  188,
 /*   420 */   112,  -69,  -69,  -69,  -69,  -69,  444,  964,  934,  -69,
 /*   430 */   -69,  -69,  926,  -69,  955,  -69,  955,  112,  934,  -69,
 /*   440 */   444,  988,  -69,  -69,  -69,  188, 1012, 1012, 1132, 1012,
 /*   450 */  1012, 1012, 1012, 1141, 1012, 1012, 1012, 1012, 1012, 1012,
 /*   460 */  1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1126, 1012,
 /*   470 */  1012, 1012, 1012, 1012, 1129, 1131, 1012, 1012, 1012, 1127,
 /*   480 */  1012, 1012, 1012, 1012, 1149, 1012, 1012, 1012, 1147, 1012,
 /*   490 */  1150, 1012, 1152, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
 /*   500 */  1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
 /*   510 */  1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
 /*   520 */  1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
 /*   530 */  1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
 /*   540 */  1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
 /*   550 */  1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
 /*   560 */  1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
 /*   570 */  1012, 1012, 1012, 1130, 1012, 1012, 1012, 1012, 1012, 1012,
 /*   580 */  1012, 1012, 1128, 1012, 1101, 1012, 1012, 1012, 1012, 1012,
);
    const YY_REDUCE_USE_DFLT = -205;
    const YY_REDUCE_MAX = 445;
    static public $yy_reduce_ofst = array(
 /*     0 */   516, -127,  299,   86, 1376,  946,  731, 1161, 3733, 3520,
 /*    10 */  3092, 2019, 1804, 1591, 3307, 2234, 2879, 2664, 2449, 3946,
 /*    20 */  3946, 3946, 3946, 3946, 3946, 3946, 5006, 4158, 4582, 4370,
 /*    30 */  4794, 5202, 6378, 5986, 6770, 6182, 5790, 6574, 5398, 5594,
 /*    40 */  6966, 7922, 7856, 8195, 8737, 8371, 8554, 9103, 8920, 10201,
 /*    50 */  10933, 10018, 9835, 9286, 9469, 9652, 10567, 10750, 12031, 11482,
 /*    60 */  11116, 11299, 12214, 11848, 10384, 11665, 12397, 12468, 12651, 12696,
 /*    70 */  13004, 13216, 13171, 8262, 13453, 13681, 13399, 13636, 13856, 14047,
 /*    80 */  13935, 13877, 14114, 14511, 14336, 14297, 14263, 14702, 14654, 14845,
 /*    90 */  8564, 14536, 14888, 15217, 15260, 15403, 15446, 15589, 15031, 15074,
 /*   100 */  9352, 8803, 9113, 9662, 13482, 15526, 7683, 5227, 8205, 5619,
 /*   110 */  8276, 6011, 6400, 5817, 10242, 10101, 6596,  853, 1234, 6792,
 /*   120 */  4236,  -52, 1449,  372, 4448,  -96,  -96,  -96,   64, 1236,
 /*   130 */  1664, 1666,  242, -143,  601,  -81,  253,   35,  -92,  161,
 /*   140 */    35,   35,  126,  -67,    1, -108,  341,  282,  144,  335,
 /*   150 */   -76,  151,   34,  325,   44,  592, -179,  292,  344,  340,
 /*   160 */   -80,   44,   44,   92,  461,  413,  236,  525,  428,  385,
 /*   170 */   291,  201,  171,  171,  371, -155,  733,  711, -204,  712,
 /*   180 */   744,  729,  570,  791,  747,  623,  785, -204,  826,  831,
 /*   190 */   821,  219,  539,  789,  539,  801,  527, -204, -204, -155,
 /*   200 */   352,  -47,  319,  -49,  163, -155, -155, -204,  146, -204,
 /*   210 */   -65, -111,  186, -204,  687,  527,  612,  539,  727,  654,
 /*   220 */   695,  639,  555,  478,  445,  365,  598,  624,  273,  526,
 /*   230 */  1063, 1145, 1146, 1157, 1143, 1031, 1167, 1089, 1035, 1177,
 /*   240 */  1035, 1155, 1139, 1218, 1216, 1153, 1221, 1227, 1233, 1162,
 /*   250 */  1134, 1196, 1063, 1113, 1195, 1198, 1215, 1144, 1208, 1212,
 /*   260 */  1027, 1079, 1078, 1077, 1080, 1082, 1068,  994, 1081, 1075,
 /*   270 */  1051, 1050, 1045, 1049, 1052, 1074,  978, 1055, 1084, 1124,
 /*   280 */  1106,  974, 1097, 1133, 1001, 1067, 1138, 1100, 1028, 1090,
 /*   290 */  1086, 1083, 1093, 1098, 1034, 1095, 1030, 1297, 1400, 1339,
 /*   300 */  1421, 1364, 1365, 1386,  974, 1340, 1341, 1358, 1360, 1417,
 /*   310 */  1412, 1420, 1419, 1395, 1316, 1349, 1347, 1028, 1265, 1277,
 /*   320 */  1232, 1250, 1230, 1178, 1241, 1187, 1258, 1001, 1321, 1315,
 /*   330 */  1338, 1332, 1237, 1284, 1296, 1242, 1308, 1299, 1319, 1192,
 /*   340 */  1279, 1352, 1199, 1393, 1363, 1164, 1382, 1239, 1392, 1203,
 /*   350 */  1267, 1259, 1310, 1206, 1066, 1283, 1154, 1327, 1260, 1235,
 /*   360 */  1264, 1289, 1266, 1397, 1200, 1418, 1410, 1353, 1142, 1383,
 /*   370 */  1136,  935,  740,  932,  933,  759,  906,  952,  762,  931,
 /*   380 */   910,  880,  909,  908,  842,  929,  896,  923,  924,  963,
 /*   390 */   999,  997,  786, 1000,  907, 1006,  971, 1003,  993,  970,
 /*   400 */   967,  965,  966,  976,  992,  977,  911,  975,  143,  576,
 /*   410 */   716,  416,  745, 1024,  553,  535,  563,  625,  502,  166,
 /*   420 */    87,  195,  499,  417,  290,  366,  832,  694,  867,  869,
 /*   430 */   882,  889,  554,  885,  814,  868,  780,  818,  757,  840,
 /*   440 */   792,  758,  864,  863, 1007, 1013,
);
    static public $yyExpectedTokens = array(
        /* 0 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, 122, ),
        /* 1 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 113, 114, 115, 116, 117, 118, 119, 121, ),
        /* 2 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 113, 114, 115, 116, 117, 118, 119, 121, ),
        /* 3 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 110, 116, 117, 118, 119, 121, ),
        /* 4 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 5 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 6 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 7 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 8 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 9 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 10 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 11 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, 122, ),
        /* 12 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 13 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 14 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 15 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 16 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 17 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 18 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 19 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 20 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 21 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 22 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 23 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 24 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 25 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 110, 116, 117, 118, 119, 121, ),
        /* 26 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 116, 117, 118, 119, 121, ),
        /* 27 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 116, 117, 118, 119, 121, ),
        /* 28 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 116, 117, 118, 119, 121, ),
        /* 29 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 116, 117, 118, 119, 121, ),
        /* 30 */ array(10, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 95, 96, 97, 98, 99, 100, 101, 116, 117, 118, 119, 121, ),
        /* 31 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, 93, ),
        /* 32 */ array(10, 14, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, ),
        /* 33 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, ),
        /* 34 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, ),
        /* 35 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, ),
        /* 36 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, ),
        /* 37 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, ),
        /* 38 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, ),
        /* 39 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 84, 85, ),
        /* 40 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 41 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 42 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 43 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 44 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 45 */ array(1, 10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 46 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 47 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 45, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 48 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 49 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 46, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 50 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 51 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 52 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 53 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 54 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 55 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 56 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 57 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 58 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 59 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 60 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 61 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 62 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 63 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 64 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 65 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 66 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 67 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 68 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 69 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 70 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 71 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 72 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 73 */ array(14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 35, 36, 37, 38, 39, 41, 42, 43, 44, ),
        /* 74 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 75 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 76 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 77 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 78 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 79 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 80 */ array(1, 10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 39, 80, ),
        /* 81 */ array(1, 10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 39, 80, ),
        /* 82 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 83 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 84 */ array(14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 36, 37, 38, 39, 41, 42, 43, 44, ),
        /* 85 */ array(14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 36, 37, 38, 39, 41, 42, 43, 44, ),
        /* 86 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 39, 80, ),
        /* 87 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 88 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 89 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 90 */ array(14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 36, 79, 80, 81, 82, 83, 116, 117, 118, ),
        /* 91 */ array(10, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37, 39, 80, ),
        /* 92 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 93 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 94 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 95 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 96 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 97 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 98 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 99 */ array(10, 14, 34, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, ),
        /* 100 */ array(14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 36, ),
        /* 101 */ array(14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 36, ),
        /* 102 */ array(14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 36, ),
        /* 103 */ array(14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 36, ),
        /* 104 */ array(14, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, ),
        /* 105 */ array(14, 36, 37, 38, 39, 41, 42, 43, 44, 50, 51, 52, 53, ),
        /* 106 */ array(22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 110, 117, 118, 119, 120, ),
        /* 107 */ array(14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 36, ),
        /* 108 */ array(14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 36, ),
        /* 109 */ array(14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 36, ),
        /* 110 */ array(22, 23, 24, 25, 26, 27, 28, 29, 30, 110, 117, 118, 119, 120, ),
        /* 111 */ array(14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 36, ),
        /* 112 */ array(10, 34, 35, 37, 39, 80, 109, ),
        /* 113 */ array(22, 23, 24, 25, 26, 27, 28, 29, 30, 110, 117, 118, 120, ),
        /* 114 */ array(14, 36, 37, 38, 39, 41, 42, 43, 44, ),
        /* 115 */ array(14, 36, 37, 38, 39, 41, 42, 43, 44, ),
        /* 116 */ array(10, 34, 35, 37, 39, 80, 109, ),
        /* 117 */ array(9, 49, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, ),
        /* 118 */ array(10, 34, 35, 36, 37, 39, 80, ),
        /* 119 */ array(10, 34, 35, 37, 39, 80, ),
        /* 120 */ array(10, 34, 35, 37, 39, 80, ),
        /* 121 */ array(34, 35, 37, 39, 80, 109, ),
        /* 122 */ array(34, 35, 37, 39, 80, 109, ),
        /* 123 */ array(34, 35, 37, 39, 80, 109, ),
        /* 124 */ array(10, 34, 35, 37, 39, 80, ),
        /* 125 */ array(37, 45, 54, 55, 56, 57, ),
        /* 126 */ array(37, 45, 54, 55, 56, 57, ),
        /* 127 */ array(37, 45, 54, 55, 56, 57, ),
        /* 128 */ array(34, 35, 37, 39, 80, ),
        /* 129 */ array(34, 35, 37, 39, 80, ),
        /* 130 */ array(34, 35, 37, 39, 80, ),
        /* 131 */ array(34, 35, 37, 39, 80, ),
        /* 132 */ array(36, 39, 60, 108, ),
        /* 133 */ array(33, 37, 40, ),
        /* 134 */ array(37, 45, 49, ),
        /* 135 */ array(48, 89, 90, ),
        /* 136 */ array(36, 60, 108, ),
        /* 137 */ array(31, 33, 66, 67, ),
        /* 138 */ array(24, 25, 26, 27, ),
        /* 139 */ array(24, 25, 26, 27, ),
        /* 140 */ array(31, 33, 66, 67, ),
        /* 141 */ array(31, 33, 66, 67, ),
        /* 142 */ array(14, 33, 40, ),
        /* 143 */ array(91, 111, 112, ),
        /* 144 */ array(48, 89, 90, ),
        /* 145 */ array(116, 117, 118, ),
        /* 146 */ array(36, 39, ),
        /* 147 */ array(36, 39, ),
        /* 148 */ array(39, 48, ),
        /* 149 */ array(37, 45, ),
        /* 150 */ array(105, 106, ),
        /* 151 */ array(33, 40, ),
        /* 152 */ array(1, 34, 35, ),
        /* 153 */ array(24, 26, 28, ),
        /* 154 */ array(34, 62, 63, ),
        /* 155 */ array(34, 35, 39, ),
        /* 156 */ array(1, 34, 35, ),
        /* 157 */ array(31, 34, 35, ),
        /* 158 */ array(31, 34, 35, ),
        /* 159 */ array(31, 34, 35, ),
        /* 160 */ array(31, 34, 35, ),
        /* 161 */ array(34, 62, 63, ),
        /* 162 */ array(34, 62, 63, ),
        /* 163 */ array(39, 47, ),
        /* 164 */ array(31, 32, ),
        /* 165 */ array(14, 33, ),
        /* 166 */ array(14, 33, ),
        /* 167 */ array(37, ),
        /* 168 */ array(94, ),
        /* 169 */ array(33, ),
        /* 170 */ array(37, ),
        /* 171 */ array(36, ),
        /* 172 */ array(37, ),
        /* 173 */ array(37, ),
        /* 174 */ array(47, ),
        /* 175 */ array(34, 35, ),
        /* 176 */ array(1, 32, ),
        /* 177 */ array(20, 47, ),
        /* 178 */ array(64, 65, ),
        /* 179 */ array(20, 47, ),
        /* 180 */ array(20, 47, ),
        /* 181 */ array(20, 47, ),
        /* 182 */ array(24, 26, ),
        /* 183 */ array(1, 32, ),
        /* 184 */ array(36, 39, ),
        /* 185 */ array(24, 26, ),
        /* 186 */ array(20, 47, ),
        /* 187 */ array(64, 65, ),
        /* 188 */ array(20, 47, ),
        /* 189 */ array(1, 32, ),
        /* 190 */ array(20, 47, ),
        /* 191 */ array(34, 39, ),
        /* 192 */ array(58, 59, ),
        /* 193 */ array(1, 32, ),
        /* 194 */ array(58, 59, ),
        /* 195 */ array(34, 39, ),
        /* 196 */ array(5, 68, ),
        /* 197 */ array(64, 65, ),
        /* 198 */ array(64, 65, ),
        /* 199 */ array(34, 35, ),
        /* 200 */ array(36, 39, ),
        /* 201 */ array(32, 48, ),
        /* 202 */ array(9, 46, ),
        /* 203 */ array(31, 32, ),
        /* 204 */ array(45, 49, ),
        /* 205 */ array(34, 35, ),
        /* 206 */ array(34, 35, ),
        /* 207 */ array(64, 65, ),
        /* 208 */ array(40, 91, ),
        /* 209 */ array(64, 65, ),
        /* 210 */ array(20, 47, ),
        /* 211 */ array(36, 39, ),
        /* 212 */ array(1, 32, ),
        /* 213 */ array(64, 65, ),
        /* 214 */ array(20, 47, ),
        /* 215 */ array(5, 68, ),
        /* 216 */ array(20, 47, ),
        /* 217 */ array(58, 59, ),
        /* 218 */ array(36, 39, ),
        /* 219 */ array(36, 39, ),
        /* 220 */ array(20, 47, ),
        /* 221 */ array(32, 48, ),
        /* 222 */ array(94, ),
        /* 223 */ array(37, ),
        /* 224 */ array(47, ),
        /* 225 */ array(37, ),
        /* 226 */ array(37, ),
        /* 227 */ array(37, ),
        /* 228 */ array(36, ),
        /* 229 */ array(39, ),
        /* 230 */ array(20, 45, ),
        /* 231 */ array(20, 39, ),
        /* 232 */ array(20, 39, ),
        /* 233 */ array(20, 39, ),
        /* 234 */ array(20, 39, ),
        /* 235 */ array(46, ),
        /* 236 */ array(122, ),
        /* 237 */ array(20, ),
        /* 238 */ array(6, ),
        /* 239 */ array(122, ),
        /* 240 */ array(6, ),
        /* 241 */ array(33, ),
        /* 242 */ array(20, ),
        /* 243 */ array(122, ),
        /* 244 */ array(122, ),
        /* 245 */ array(37, ),
        /* 246 */ array(122, ),
        /* 247 */ array(39, ),
        /* 248 */ array(122, ),
        /* 249 */ array(1, ),
        /* 250 */ array(20, ),
        /* 251 */ array(122, ),
        /* 252 */ array(45, ),
        /* 253 */ array(37, ),
        /* 254 */ array(122, ),
        /* 255 */ array(122, ),
        /* 256 */ array(122, ),
        /* 257 */ array(1, ),
        /* 258 */ array(122, ),
        /* 259 */ array(122, ),
        /* 260 */ array(46, ),
        /* 261 */ array(122, ),
        /* 262 */ array(122, ),
        /* 263 */ array(122, ),
        /* 264 */ array(122, ),
        /* 265 */ array(122, ),
        /* 266 */ array(47, ),
        /* 267 */ array(1, ),
        /* 268 */ array(122, ),
        /* 269 */ array(122, ),
        /* 270 */ array(122, ),
        /* 271 */ array(122, ),
        /* 272 */ array(122, ),
        /* 273 */ array(122, ),
        /* 274 */ array(122, ),
        /* 275 */ array(122, ),
        /* 276 */ array(100, ),
        /* 277 */ array(122, ),
        /* 278 */ array(39, ),
        /* 279 */ array(122, ),
        /* 280 */ array(32, ),
        /* 281 */ array(8, ),
        /* 282 */ array(49, ),
        /* 283 */ array(122, ),
        /* 284 */ array(11, ),
        /* 285 */ array(34, ),
        /* 286 */ array(122, ),
        /* 287 */ array(122, ),
        /* 288 */ array(10, ),
        /* 289 */ array(122, ),
        /* 290 */ array(122, ),
        /* 291 */ array(122, ),
        /* 292 */ array(122, ),
        /* 293 */ array(122, ),
        /* 294 */ array(1, ),
        /* 295 */ array(122, ),
        /* 296 */ array(108, ),
        /* 297 */ array(122, ),
        /* 298 */ array(122, ),
        /* 299 */ array(122, ),
        /* 300 */ array(122, ),
        /* 301 */ array(122, ),
        /* 302 */ array(122, ),
        /* 303 */ array(39, ),
        /* 304 */ array(8, ),
        /* 305 */ array(122, ),
        /* 306 */ array(122, ),
        /* 307 */ array(39, ),
        /* 308 */ array(122, ),
        /* 309 */ array(122, ),
        /* 310 */ array(122, ),
        /* 311 */ array(122, ),
        /* 312 */ array(122, ),
        /* 313 */ array(122, ),
        /* 314 */ array(1, ),
        /* 315 */ array(35, ),
        /* 316 */ array(34, ),
        /* 317 */ array(10, ),
        /* 318 */ array(122, ),
        /* 319 */ array(122, ),
        /* 320 */ array(34, ),
        /* 321 */ array(49, ),
        /* 322 */ array(49, ),
        /* 323 */ array(34, ),
        /* 324 */ array(122, ),
        /* 325 */ array(37, ),
        /* 326 */ array(122, ),
        /* 327 */ array(11, ),
        /* 328 */ array(122, ),
        /* 329 */ array(122, ),
        /* 330 */ array(122, ),
        /* 331 */ array(122, ),
        /* 332 */ array(107, ),
        /* 333 */ array(32, ),
        /* 334 */ array(122, ),
        /* 335 */ array(1, ),
        /* 336 */ array(122, ),
        /* 337 */ array(122, ),
        /* 338 */ array(122, ),
        /* 339 */ array(37, ),
        /* 340 */ array(122, ),
        /* 341 */ array(39, ),
        /* 342 */ array(26, ),
        /* 343 */ array(122, ),
        /* 344 */ array(122, ),
        /* 345 */ array(26, ),
        /* 346 */ array(122, ),
        /* 347 */ array(122, ),
        /* 348 */ array(122, ),
        /* 349 */ array(26, ),
        /* 350 */ array(122, ),
        /* 351 */ array(122, ),
        /* 352 */ array(122, ),
        /* 353 */ array(33, ),
        /* 354 */ array(26, ),
        /* 355 */ array(33, ),
        /* 356 */ array(14, ),
        /* 357 */ array(39, ),
        /* 358 */ array(122, ),
        /* 359 */ array(122, ),
        /* 360 */ array(122, ),
        /* 361 */ array(122, ),
        /* 362 */ array(122, ),
        /* 363 */ array(122, ),
        /* 364 */ array(14, ),
        /* 365 */ array(122, ),
        /* 366 */ array(122, ),
        /* 367 */ array(122, ),
        /* 368 */ array(26, ),
        /* 369 */ array(122, ),
        /* 370 */ array(10, ),
        /* 371 */ array(122, ),
        /* 372 */ array(14, ),
        /* 373 */ array(122, ),
        /* 374 */ array(122, ),
        /* 375 */ array(14, ),
        /* 376 */ array(10, ),
        /* 377 */ array(122, ),
        /* 378 */ array(14, ),
        /* 379 */ array(122, ),
        /* 380 */ array(122, ),
        /* 381 */ array(91, ),
        /* 382 */ array(122, ),
        /* 383 */ array(122, ),
        /* 384 */ array(37, ),
        /* 385 */ array(122, ),
        /* 386 */ array(33, ),
        /* 387 */ array(122, ),
        /* 388 */ array(122, ),
        /* 389 */ array(122, ),
        /* 390 */ array(122, ),
        /* 391 */ array(122, ),
        /* 392 */ array(26, ),
        /* 393 */ array(122, ),
        /* 394 */ array(122, ),
        /* 395 */ array(122, ),
        /* 396 */ array(33, ),
        /* 397 */ array(122, ),
        /* 398 */ array(122, ),
        /* 399 */ array(122, ),
        /* 400 */ array(122, ),
        /* 401 */ array(122, ),
        /* 402 */ array(122, ),
        /* 403 */ array(122, ),
        /* 404 */ array(122, ),
        /* 405 */ array(122, ),
        /* 406 */ array(37, ),
        /* 407 */ array(91, ),
        /* 408 */ array(122, ),
        /* 409 */ array(122, ),
        /* 410 */ array(122, ),
        /* 411 */ array(1, ),
        /* 412 */ array(122, ),
        /* 413 */ array(122, ),
        /* 414 */ array(122, ),
        /* 415 */ array(122, ),
        /* 416 */ array(122, ),
        /* 417 */ array(122, ),
        /* 418 */ array(122, ),
        /* 419 */ array(48, ),
        /* 420 */ array(47, ),
        /* 421 */ array(122, ),
        /* 422 */ array(122, ),
        /* 423 */ array(122, ),
        /* 424 */ array(122, ),
        /* 425 */ array(122, ),
        /* 426 */ array(1, ),
        /* 427 */ array(40, ),
        /* 428 */ array(39, ),
        /* 429 */ array(122, ),
        /* 430 */ array(122, ),
        /* 431 */ array(122, ),
        /* 432 */ array(91, ),
        /* 433 */ array(122, ),
        /* 434 */ array(37, ),
        /* 435 */ array(122, ),
        /* 436 */ array(37, ),
        /* 437 */ array(47, ),
        /* 438 */ array(39, ),
        /* 439 */ array(122, ),
        /* 440 */ array(1, ),
        /* 441 */ array(3, ),
        /* 442 */ array(122, ),
        /* 443 */ array(122, ),
        /* 444 */ array(122, ),
        /* 445 */ array(48, ),
        /* 446 */ array(122, ),
        /* 447 */ array(122, ),
        /* 448 */ array(20, ),
        /* 449 */ array(122, ),
        /* 450 */ array(122, ),
        /* 451 */ array(122, ),
        /* 452 */ array(122, ),
        /* 453 */ array(20, ),
        /* 454 */ array(122, ),
        /* 455 */ array(122, ),
        /* 456 */ array(122, ),
        /* 457 */ array(122, ),
        /* 458 */ array(122, ),
        /* 459 */ array(122, ),
        /* 460 */ array(122, ),
        /* 461 */ array(122, ),
        /* 462 */ array(122, ),
        /* 463 */ array(122, ),
        /* 464 */ array(122, ),
        /* 465 */ array(122, ),
        /* 466 */ array(122, ),
        /* 467 */ array(122, ),
        /* 468 */ array(20, ),
        /* 469 */ array(122, ),
        /* 470 */ array(122, ),
        /* 471 */ array(122, ),
        /* 472 */ array(122, ),
        /* 473 */ array(122, ),
        /* 474 */ array(20, ),
        /* 475 */ array(20, ),
        /* 476 */ array(122, ),
        /* 477 */ array(122, ),
        /* 478 */ array(122, ),
        /* 479 */ array(20, ),
        /* 480 */ array(122, ),
        /* 481 */ array(122, ),
        /* 482 */ array(122, ),
        /* 483 */ array(122, ),
        /* 484 */ array(20, ),
        /* 485 */ array(122, ),
        /* 486 */ array(122, ),
        /* 487 */ array(122, ),
        /* 488 */ array(20, ),
        /* 489 */ array(122, ),
        /* 490 */ array(20, ),
        /* 491 */ array(122, ),
        /* 492 */ array(20, ),
        /* 493 */ array(122, ),
        /* 494 */ array(122, ),
        /* 495 */ array(122, ),
        /* 496 */ array(122, ),
        /* 497 */ array(122, ),
        /* 498 */ array(122, ),
        /* 499 */ array(122, ),
        /* 500 */ array(122, ),
        /* 501 */ array(122, ),
        /* 502 */ array(122, ),
        /* 503 */ array(122, ),
        /* 504 */ array(122, ),
        /* 505 */ array(122, ),
        /* 506 */ array(122, ),
        /* 507 */ array(122, ),
        /* 508 */ array(122, ),
        /* 509 */ array(122, ),
        /* 510 */ array(122, ),
        /* 511 */ array(122, ),
        /* 512 */ array(122, ),
        /* 513 */ array(122, ),
        /* 514 */ array(122, ),
        /* 515 */ array(122, ),
        /* 516 */ array(122, ),
        /* 517 */ array(122, ),
        /* 518 */ array(122, ),
        /* 519 */ array(122, ),
        /* 520 */ array(122, ),
        /* 521 */ array(122, ),
        /* 522 */ array(122, ),
        /* 523 */ array(122, ),
        /* 524 */ array(122, ),
        /* 525 */ array(122, ),
        /* 526 */ array(122, ),
        /* 527 */ array(122, ),
        /* 528 */ array(122, ),
        /* 529 */ array(122, ),
        /* 530 */ array(122, ),
        /* 531 */ array(122, ),
        /* 532 */ array(122, ),
        /* 533 */ array(122, ),
        /* 534 */ array(122, ),
        /* 535 */ array(122, ),
        /* 536 */ array(122, ),
        /* 537 */ array(122, ),
        /* 538 */ array(122, ),
        /* 539 */ array(122, ),
        /* 540 */ array(122, ),
        /* 541 */ array(122, ),
        /* 542 */ array(122, ),
        /* 543 */ array(122, ),
        /* 544 */ array(122, ),
        /* 545 */ array(122, ),
        /* 546 */ array(122, ),
        /* 547 */ array(122, ),
        /* 548 */ array(122, ),
        /* 549 */ array(122, ),
        /* 550 */ array(122, ),
        /* 551 */ array(122, ),
        /* 552 */ array(122, ),
        /* 553 */ array(122, ),
        /* 554 */ array(122, ),
        /* 555 */ array(122, ),
        /* 556 */ array(122, ),
        /* 557 */ array(122, ),
        /* 558 */ array(122, ),
        /* 559 */ array(122, ),
        /* 560 */ array(122, ),
        /* 561 */ array(122, ),
        /* 562 */ array(122, ),
        /* 563 */ array(122, ),
        /* 564 */ array(122, ),
        /* 565 */ array(122, ),
        /* 566 */ array(122, ),
        /* 567 */ array(122, ),
        /* 568 */ array(122, ),
        /* 569 */ array(122, ),
        /* 570 */ array(122, ),
        /* 571 */ array(122, ),
        /* 572 */ array(122, ),
        /* 573 */ array(14, ),
        /* 574 */ array(122, ),
        /* 575 */ array(122, ),
        /* 576 */ array(122, ),
        /* 577 */ array(122, ),
        /* 578 */ array(122, ),
        /* 579 */ array(122, ),
        /* 580 */ array(122, ),
        /* 581 */ array(122, ),
        /* 582 */ array(14, ),
        /* 583 */ array(122, ),
        /* 584 */ array(42, ),
        /* 585 */ array(122, ),
        /* 586 */ array(122, ),
        /* 587 */ array(122, ),
        /* 588 */ array(122, ),
        /* 589 */ array(122, ),
        /* 590 */ array(),
        /* 591 */ array(),
        /* 592 */ array(),
        /* 593 */ array(),
        /* 594 */ array(),
        /* 595 */ array(),
        /* 596 */ array(),
        /* 597 */ array(),
        /* 598 */ array(),
        /* 599 */ array(),
        /* 600 */ array(),
        /* 601 */ array(),
        /* 602 */ array(),
        /* 603 */ array(),
        /* 604 */ array(),
        /* 605 */ array(),
        /* 606 */ array(),
        /* 607 */ array(),
        /* 608 */ array(),
        /* 609 */ array(),
        /* 610 */ array(),
        /* 611 */ array(),
        /* 612 */ array(),
        /* 613 */ array(),
        /* 614 */ array(),
        /* 615 */ array(),
        /* 616 */ array(),
        /* 617 */ array(),
        /* 618 */ array(),
        /* 619 */ array(),
        /* 620 */ array(),
        /* 621 */ array(),
        /* 622 */ array(),
        /* 623 */ array(),
        /* 624 */ array(),
        /* 625 */ array(),
        /* 626 */ array(),
        /* 627 */ array(),
        /* 628 */ array(),
        /* 629 */ array(),
        /* 630 */ array(),
        /* 631 */ array(),
        /* 632 */ array(),
        /* 633 */ array(),
        /* 634 */ array(),
        /* 635 */ array(),
        /* 636 */ array(),
        /* 637 */ array(),
        /* 638 */ array(),
        /* 639 */ array(),
        /* 640 */ array(),
        /* 641 */ array(),
        /* 642 */ array(),
        /* 643 */ array(),
        /* 644 */ array(),
        /* 645 */ array(),
        /* 646 */ array(),
        /* 647 */ array(),
        /* 648 */ array(),
        /* 649 */ array(),
        /* 650 */ array(),
        /* 651 */ array(),
        /* 652 */ array(),
        /* 653 */ array(),
        /* 654 */ array(),
        /* 655 */ array(),
        /* 656 */ array(),
        /* 657 */ array(),
        /* 658 */ array(),
        /* 659 */ array(),
        /* 660 */ array(),
        /* 661 */ array(),
        /* 662 */ array(),
        /* 663 */ array(),
        /* 664 */ array(),
        /* 665 */ array(),
        /* 666 */ array(),
        /* 667 */ array(),
        /* 668 */ array(),
        /* 669 */ array(),
        /* 670 */ array(),
        /* 671 */ array(),
        /* 672 */ array(),
        /* 673 */ array(),
        /* 674 */ array(),
        /* 675 */ array(),
        /* 676 */ array(),
        /* 677 */ array(),
        /* 678 */ array(),
        /* 679 */ array(),
        /* 680 */ array(),
        /* 681 */ array(),
        /* 682 */ array(),
        /* 683 */ array(),
        /* 684 */ array(),
        /* 685 */ array(),
        /* 686 */ array(),
        /* 687 */ array(),
        /* 688 */ array(),
        /* 689 */ array(),
        /* 690 */ array(),
        /* 691 */ array(),
        /* 692 */ array(),
        /* 693 */ array(),
        /* 694 */ array(),
        /* 695 */ array(),
        /* 696 */ array(),
        /* 697 */ array(),
        /* 698 */ array(),
        /* 699 */ array(),
        /* 700 */ array(),
        /* 701 */ array(),
        /* 702 */ array(),
        /* 703 */ array(),
        /* 704 */ array(),
        /* 705 */ array(),
        /* 706 */ array(),
        /* 707 */ array(),
        /* 708 */ array(),
        /* 709 */ array(),
        /* 710 */ array(),
        /* 711 */ array(),
        /* 712 */ array(),
        /* 713 */ array(),
        /* 714 */ array(),
        /* 715 */ array(),
        /* 716 */ array(),
        /* 717 */ array(),
        /* 718 */ array(),
        /* 719 */ array(),
        /* 720 */ array(),
        /* 721 */ array(),
        /* 722 */ array(),
        /* 723 */ array(),
        /* 724 */ array(),
        /* 725 */ array(),
        /* 726 */ array(),
        /* 727 */ array(),
        /* 728 */ array(),
        /* 729 */ array(),
        /* 730 */ array(),
        /* 731 */ array(),
        /* 732 */ array(),
        /* 733 */ array(),
        /* 734 */ array(),
        /* 735 */ array(),
        /* 736 */ array(),
        /* 737 */ array(),
        /* 738 */ array(),
        /* 739 */ array(),
        /* 740 */ array(),
        /* 741 */ array(),
        /* 742 */ array(),
        /* 743 */ array(),
        /* 744 */ array(),
        /* 745 */ array(),
        /* 746 */ array(),
        /* 747 */ array(),
        /* 748 */ array(),
        /* 749 */ array(),
        /* 750 */ array(),
        /* 751 */ array(),
        /* 752 */ array(),
        /* 753 */ array(),
        /* 754 */ array(),
        /* 755 */ array(),
        /* 756 */ array(),
        /* 757 */ array(),
        /* 758 */ array(),
        /* 759 */ array(),
        /* 760 */ array(),
        /* 761 */ array(),
        /* 762 */ array(),
        /* 763 */ array(),
        /* 764 */ array(),
        /* 765 */ array(),
        /* 766 */ array(),
        /* 767 */ array(),
        /* 768 */ array(),
        /* 769 */ array(),
        /* 770 */ array(),
        /* 771 */ array(),
        /* 772 */ array(),
        /* 773 */ array(),
        /* 774 */ array(),
        /* 775 */ array(),
        /* 776 */ array(),
        /* 777 */ array(),
        /* 778 */ array(),
        /* 779 */ array(),
        /* 780 */ array(),
        /* 781 */ array(),
        /* 782 */ array(),
        /* 783 */ array(),
        /* 784 */ array(),
        /* 785 */ array(),
        /* 786 */ array(),
        /* 787 */ array(),
        /* 788 */ array(),
        /* 789 */ array(),
        /* 790 */ array(),
        /* 791 */ array(),
        /* 792 */ array(),
        /* 793 */ array(),
        /* 794 */ array(),
        /* 795 */ array(),
        /* 796 */ array(),
        /* 797 */ array(),
        /* 798 */ array(),
        /* 799 */ array(),
        /* 800 */ array(),
        /* 801 */ array(),
        /* 802 */ array(),
        /* 803 */ array(),
        /* 804 */ array(),
        /* 805 */ array(),
        /* 806 */ array(),
        /* 807 */ array(),
        /* 808 */ array(),
        /* 809 */ array(),
        /* 810 */ array(),
        /* 811 */ array(),
        /* 812 */ array(),
        /* 813 */ array(),
        /* 814 */ array(),
        /* 815 */ array(),
        /* 816 */ array(),
        /* 817 */ array(),
        /* 818 */ array(),
        /* 819 */ array(),
        /* 820 */ array(),
        /* 821 */ array(),
        /* 822 */ array(),
        /* 823 */ array(),
        /* 824 */ array(),
        /* 825 */ array(),
        /* 826 */ array(),
        /* 827 */ array(),
);
    static public $yy_default = array(
 /*     0 */  1403, 1403, 1403, 1403, 1403, 1403, 1403,  835, 1403, 1403,
 /*    10 */  1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,  981,
 /*    20 */   828,  943,  829,  982,  837,  942, 1403, 1403, 1403, 1403,
 /*    30 */  1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 /*    40 */  1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 /*    50 */  1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 /*    60 */  1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 /*    70 */  1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 /*    80 */  1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 /*    90 */  1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 /*   100 */  1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 /*   110 */  1403, 1403, 1403, 1403, 1403, 1403, 1403, 1020, 1403, 1403,
 /*   120 */  1403, 1403, 1403, 1403, 1403, 1061, 1057, 1058, 1403, 1403,
 /*   130 */  1403, 1403, 1403, 1131, 1079, 1403, 1403, 1031, 1403, 1403,
 /*   140 */  1032, 1033, 1132, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 /*   150 */   938, 1131, 1403, 1173, 1043,  934, 1403, 1403, 1403, 1403,
 /*   160 */  1403, 1042, 1044, 1403, 1403, 1122, 1132, 1403, 1403, 1125,
 /*   170 */  1403, 1403,  929, 1403, 1403, 1145, 1403, 1403,  857, 1403,
 /*   180 */  1403, 1403, 1175, 1403, 1403, 1174, 1403, 1038, 1403, 1403,
 /*   190 */  1403, 1403, 1040, 1403, 1039, 1403, 1029, 1034, 1036,  856,
 /*   200 */  1403, 1403, 1403, 1403, 1079,  859, 1143, 1037, 1103,  860,
 /*   210 */  1403, 1403, 1403, 1035, 1403, 1030, 1403, 1041, 1403, 1403,
 /*   220 */  1403, 1403,  965, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 /*   230 */  1403, 1403, 1403, 1403, 1403, 1403, 1241, 1403, 1022, 1289,
 /*   240 */  1021, 1403, 1403, 1287, 1309, 1403, 1305,  854, 1273, 1403,
 /*   250 */  1403, 1353,  932, 1403, 1259, 1357, 1307, 1403, 1337, 1277,
 /*   260 */  1403, 1397, 1395, 1275, 1377, 1391, 1403, 1403,  850, 1393,
 /*   270 */  1235,  961,  953, 1261, 1239, 1237, 1403,  955, 1403,  959,
 /*   280 */   997, 1023,  858,  957, 1025, 1403, 1319, 1291, 1027, 1321,
 /*   290 */   893, 1317, 1293, 1373, 1403, 1311, 1403, 1315, 1323, 1267,
 /*   300 */   899,  924, 1283, 1403, 1024, 1375, 1281, 1403, 1269,  895,
 /*   310 */  1279,  901, 1295, 1205, 1403,  926, 1403, 1028, 1303, 1313,
 /*   320 */  1403,  855,  890, 1403, 1389, 1403, 1301, 1026, 1207,  897,
 /*   330 */  1299, 1297, 1403,  998, 1203, 1403, 1285, 1371, 1271, 1403,
 /*   340 */  1339, 1403, 1172, 1329, 1327, 1178, 1199, 1189, 1215, 1177,
 /*   350 */  1185, 1345, 1369, 1403, 1170, 1403, 1403, 1403,  990, 1219,
 /*   360 */  1211, 1193, 1179, 1325, 1403, 1181,  992, 1347, 1171, 1331,
 /*   370 */  1136, 1399, 1403, 1341, 1365, 1403, 1138, 1335, 1403, 1333,
 /*   380 */  1201, 1403, 1363, 1361, 1403, 1351, 1403, 1367, 1349, 1191,
 /*   390 */  1355, 1359, 1176, 1187, 1343, 1183, 1403, 1195,  845, 1229,
 /*   400 */  1257, 1383, 1263,  974, 1227, 1223, 1403, 1403, 1225, 1231,
 /*   410 */  1385, 1403, 1245, 1249, 1247, 1387, 1243, 1197, 1233, 1403,
 /*   420 */  1403, 1265, 1381, 1253, 1209,  848, 1403, 1103,  847, 1213,
 /*   430 */  1221,  988, 1403, 1255, 1403, 1379, 1403, 1403,  832, 1217,
 /*   440 */  1403,  984, 1251,  841,  843, 1403, 1388, 1336, 1403,  896,
 /*   450 */  1394, 1368, 1370, 1403, 1380,  898,  900, 1220, 1382,  902,
 /*   460 */   894, 1398, 1396, 1386, 1384, 1344, 1342, 1346, 1403, 1238,
 /*   470 */   954,  844,  956,  842, 1403, 1403,  989, 1354, 1358, 1403,
 /*   480 */   958,  975,  851, 1392, 1403, 1338,  962,  846, 1403,  960,
 /*   490 */  1403,  991, 1403, 1360, 1362, 1356, 1352, 1374, 1364, 1366,
 /*   500 */  1332,  925, 1376, 1400, 1350, 1348, 1328, 1326,  993, 1390,
 /*   510 */  1330, 1204, 1208,  849, 1372, 1340, 1334, 1310, 1192, 1206,
 /*   520 */  1184, 1188, 1286, 1186, 1314, 1274, 1182, 1180, 1272, 1190,
 /*   530 */  1202, 1248, 1280, 1270, 1282, 1284, 1216, 1268, 1324, 1316,
 /*   540 */  1312, 1318, 1320, 1322, 1194, 1196, 1226, 1230, 1224, 1276,
 /*   550 */  1218, 1232, 1244, 1264, 1250, 1246, 1266, 1214, 1278, 1378,
 /*   560 */  1256, 1290, 1288, 1258, 1242, 1260, 1254, 1234, 1236, 1252,
 /*   570 */  1262, 1240, 1200, 1133, 1298, 1300, 1296, 1294, 1222, 1292,
 /*   580 */  1304, 1306, 1121, 1198, 1102, 1228, 1210, 1308, 1212, 1302,
 /*   590 */  1126,  987, 1109,  839, 1110,  840, 1107, 1402, 1108,  986,
 /*   600 */   969, 1076,  885, 1074,  879,  833,  878,  877, 1048,  939,
 /*   610 */   884,  880, 1070, 1075, 1111, 1112,  875, 1115,  977, 1000,
 /*   620 */   978, 1116,  838,  830, 1119,  836, 1120,  980, 1401, 1113,
 /*   630 */   883,  882,  881,  985,  983, 1114, 1147, 1099, 1100, 1101,
 /*   640 */  1161, 1158, 1134, 1135,  873,  834,  920,  831, 1137, 1152,
 /*   650 */  1151, 1140, 1139, 1131, 1129,  917,  971, 1105,  970, 1123,
 /*   660 */  1073,  966, 1128, 1127,  979, 1104, 1153,  972, 1106,  874,
 /*   670 */  1117,  941, 1168, 1157, 1160,  876, 1169, 1166, 1163, 1165,
 /*   680 */  1162, 1167, 1164, 1154,  994, 1124,  973, 1159, 1156, 1155,
 /*   690 */   923,  913, 1068,  907, 1012,  906, 1011, 1010, 1062,  909,
 /*   700 */  1050,  903, 1046, 1015, 1014, 1013, 1063,  999,  910,  911,
 /*   710 */  1064,  919,  916, 1008, 1007,  918, 1006,  915, 1045,  912,
 /*   720 */  1049, 1067, 1066,  914,  908, 1016, 1017,  870,  868, 1065,
 /*   730 */   871,  872,  904, 1009,  866,  853,  864,  865,  863,  862,
 /*   740 */   867,  861, 1056, 1118,  887,  891, 1051,  889,  892, 1018,
 /*   750 */  1019,  888,  886, 1055,  905, 1054,  869, 1052, 1053, 1005,
 /*   760 */  1004, 1082, 1083, 1086, 1081, 1080, 1078, 1047, 1087, 1084,
 /*   770 */   852, 1088, 1090, 1089,  952, 1085, 1059, 1060, 1146, 1148,
 /*   780 */  1150, 1072, 1144,  967, 1130, 1149,  968,  995,  996,  963,
 /*   790 */  1069, 1071,  964, 1091, 1093,  940,  937, 1095, 1094, 1142,
 /*   800 */   944,  929, 1077,  936,  922,  921, 1003, 1002, 1001,  935,
 /*   810 */   945,  946, 1092, 1096,  950,  933,  931,  951,  930, 1097,
 /*   820 */  1098,  948,  947,  949,  928, 1141,  927,  976,
);
/* The next thing included is series of defines which control
** various aspects of the generated parser.
**    self::YYNOCODE      is a number which corresponds
**                        to no legal terminal or nonterminal number.  This
**                        number is used to fill in empty slots of the hash 
**                        table.
**    self::YYFALLBACK    If defined, this indicates that one or more tokens
**                        have fall-back values which should be used if the
**                        original value of the token will not parse.
**    self::YYSTACKDEPTH  is the maximum depth of the parser's stack.
**    self::YYNSTATE      the combined number of states.
**    self::YYNRULE       the number of rules in the grammar
**    self::YYERRORSYMBOL is the code number of the error symbol.  If not
**                        defined, then do no error processing.
*/
    const YYNOCODE = 341;
    const YYSTACKDEPTH = 100;
    const block_formal_langs_parser_cpp_languageARG_DECL = '0';
    const YYNSTATE = 828;
    const YYNRULE = 575;
    const YYERRORSYMBOL = 123;
    const YYERRSYMDT = 'yy0';
    const YYFALLBACK = 0;
    /** The next table maps tokens into fallback tokens.  If a construct
     * like the following:
     * 
     *      %fallback ID X Y Z.
     *
     * appears in the grammer, then ID becomes a fallback token for X, Y,
     * and Z.  Whenever one of the tokens X, Y, or Z is input to the parser
     * but it does not parse, the type of the token is changed to ID and
     * the parse is retried before an error is thrown.
     */
    static public $yyFallback = array(
    );
    /**
     * Turn parser tracing on by giving a stream to which to write the trace
     * and a prompt to preface each trace message.  Tracing is turned off
     * by making either argument NULL 
     *
     * Inputs:
     * 
     * - A stream resource to which trace output should be written.
     *   If NULL, then tracing is turned off.
     * - A prefix string written at the beginning of every
     *   line of trace output.  If NULL, then tracing is
     *   turned off.
     *
     * Outputs:
     * 
     * - None.
     * @param resource
     * @param string
     */
    static function Trace($TraceFILE, $zTracePrompt)
    {
        if (!$TraceFILE) {
            $zTracePrompt = 0;
        } elseif (!$zTracePrompt) {
            $TraceFILE = 0;
        }
        self::$yyTraceFILE = $TraceFILE;
        self::$yyTracePrompt = $zTracePrompt;
    }

    /**
     * Output debug information to output (php://output stream)
     */
    static function PrintTrace()
    {
        self::$yyTraceFILE = fopen('php://output', 'w');
        self::$yyTracePrompt = '';
    }

    /**
     * @var resource|0
     */
    static public $yyTraceFILE;
    /**
     * String to prepend to debug output
     * @var string|0
     */
    static public $yyTracePrompt;
    /**
     * @var int
     */
    public $yyidx = -1;                    /* Index of top element in stack */
    /**
     * @var int
     */
    public $yyerrcnt;                 /* Shifts left before out of the error */
    /**
     * @var array
     */
    public $yystack = array();  /* The parser's stack */

    /**
     * For tracing shifts, the names of all terminals and nonterminals
     * are required.  The following table supplies these names
     * @var array
     */
    static public $yyTokenName = array( 
  '$',             'RIGHTROUNDBRACKET',  'THENKWD',       'ELSEKWD',     
  'NOTEQUAL',      'EQUAL',         'LOGICALAND',    'BINARYAND',   
  'BINARYOR',      'LOGICALOR',     'AMPERSAND',     'BINARYXOR',   
  'UINDIRECTION',  'UADRESS',       'NAMESPACE_RESOLVE',  'UMINUS',      
  'UPLUS',         'UBRACKET',      'TYPEUNARY',     'MACROPARAMETERPRIORITY',
  'SEMICOLON',     'FORKWD',        'UNSIGNED',      'SIGNED',      
  'LONG',          'SHORT',         'INT',           'CHAR',        
  'DOUBLE',        'FLOAT',         'VOID',          'GREATER',     
  'COMMA',         'LESSER',        'MULTIPLY',      'CONSTKWD',    
  'TYPENAME',      'LEFTROUNDBRACKET',  'SIZEOF',        'IDENTIFIER',  
  'PREPROCESSOR_CONCAT',  'PREPROCESSOR_STRINGIFY',  'STRING',        'CHARACTER',   
  'NUMERIC',       'LEFTSQUAREBRACKET',  'RIGHTSQUAREBRACKET',  'LEFTFIGUREBRACKET',
  'RIGHTFIGUREBRACKET',  'ASSIGN',        'REINTERPRET_CAST',  'DYNAMIC_CAST',
  'STATIC_CAST',   'CONST_CAST',    'RIGHTARROW',    'DOT',         
  'DECREMENT',     'INCREMENT',     'PLUS',          'MINUS',       
  'BINARYNOT',     'LOGICALNOT',    'DIVISION',      'MODULOSIGN',  
  'RIGHTSHIFT',    'LEFTSHIFT',     'GREATER_OR_EQUAL',  'LESSER_OR_EQUAL',
  'NOT_EQUAL',     'MINUS_ASSIGN',  'PLUS_ASSIGN',   'MULTIPLY_ASSIGN',
  'DIVISION_ASSIGN',  'MODULO_ASSIGN',  'LEFTSHIFT_ASSIGN',  'RIGHTSHIFT_ASSIGN',
  'BINARYAND_ASSIGN',  'BINARYOR_ASSIGN',  'BINARYXOR_ASSIGN',  'FRIENDKWD',   
  'VOLATILEKWD',   'REGISTERKWD',   'EXTERNKWD',     'STATICKWD',   
  'DELETE',        'NEWKWD',        'BREAKKWD',      'TYPEDEF',     
  'IFKWD',         'DEFAULTKWD',    'CASEKWD',       'COLON',       
  'SWITCHKWD',     'ELLIPSIS',      'CATCHKWD',      'TRYKWD',      
  'GOTOKWD',       'CONTINUEKWD',   'RETURNKWD',     'DOKWD',       
  'WHILEKWD',      'PREPROCESSOR_INCLUDE',  'PREPROCESSOR_DEFINE',  'PREPROCESSOR_IF',
  'PREPROCESSOR_IFDEF',  'PREPROCESSOR_ELSE',  'PREPROCESSOR_ELIF',  'PREPROCESSOR_ENDIF',
  'OUTER_CONSTRUCTOR_NAME',  'OPERATOROVERLOADDECLARATION',  'ENUMKWD',       'SLOTSKWD',    
  'SIGNALSKWD',    'PRIVATEKWD',    'PROTECTEDKWD',  'PUBLICKWD',   
  'UNIONKWD',      'STRUCTKWD',     'CLASSKWD',      'TEMPLATEKWD', 
  'TYPENAMEKWD',   'NAMESPACEKWD',  'COMMENT',       'error',       
  'program',       'stmt_list',     'comment_list',  'stmt_or_defined_macro',
  'namespace_definition_start',  'namespacekwd',  'identifier',    'stmt',        
  'namespace_body',  'start_of_empty_namespace',  'leftfigurebracket',  'rightfigurebracket',
  'namespace_statements',  'class_or_union_or_struct',  'identified_type_meta_specifier_with_template_def',  'type_meta_specifier_with_template_def',
  'structure_body',  'nonidentified_type_meta_specifier_with_template_def',  'template_spec_list',  'comma',       
  'template_spec',  'template_typename',  'assign',        'type_or_type_ref_or_with_ptr',
  'expr_prec_7',   'template_def',  'typenamekwd',   'classkwd',    
  'structkwd',     'enumkwd',       'builtintype',   'templatekwd', 
  'lesser',        'greater',       'type_meta_specifier',  'unionkwd',    
  'stmt_or_visibility_spec_list',  'stmt_or_visibility_spec',  'visibility_spec_full',  'visibility_spec',
  'colon',         'signal_slots',  'publickwd',     'protectedkwd',
  'privatekwd',    'signalskwd',    'slotskwd',      'enum_body',   
  'enum_value_list',  'enum_value',    'expr_atom',     'enum_definition_start',
  'type_or_type_with_qualifier',  'function_definition_without_type',  'lvalue',        'formal_args_list_with_or_without_const',
  'function_body',  'operator_overload_declaration_type_modificators',  'ampersand',     'operator_overload_declaration_ptr',
  'constkwd',      'multiply',      'operator_overload_declaration_without_type',  'operatoroverloaddeclaration',
  'formal_args_list',  'binarynot',     'typename',      'outer_constructor_name',
  'namespace_resolve',  'outer_constructor_name_terminal',  'outer_destructor_name',  'leftroundbracket',
  'rightroundbracket',  'arg_list',      'arg',           'preprocessor_cond',
  'preprocessor_endif',  'preprocessor_else_clauses',  'preprocessor_elif_list',  'preprocessor_else',
  'preprocessor_elif',  'preprocessor_elif_terminal',  'preprocessor_else_terminal',  'preprocessor_ifdef',
  'preprocessor_if',  'preprocessor_define',  'preprocessor_include',  'whilekwd',    
  'expr_prec_10',  'dokwd',         'expr_prec_11',  'semicolon',   
  'returnkwd',     'continuekwd',   'gotokwd',       'try_catch',   
  'try',           'catch_list',    'trykwd',        'catch',       
  'catchkwd',      'expr_prec_11_or_ellipsis',  'ellipsis',      'switch_stmt', 
  'switchkwd',     'switch_case_list',  'case',          'casekwd',     
  'defaultkwd',    'if_then_else',  'if_then',       'elsekwd',     
  'ifkwd',         'typedef',       'type',          'breakkwd',    
  'newkwd',        'delete',        'leftsquarebracket',  'rightsquarebracket',
  'lvalue_or_assignment_list',  'expr_list',     'type_with_qualifier',  'varqualifier',
  'statickwd',     'externkwd',     'registerkwd',   'volatilekwd', 
  'friendkwd',     'expr_prec_9',   'binaryxor_assign',  'binaryor_assign',
  'binaryand_assign',  'rightshift_assign',  'leftshift_assign',  'modulo_assign',
  'division_assign',  'multiply_assign',  'plus_assign',   'minus_assign',
  'logicalor',     'expr_logical_and',  'logicaland',    'expr_binary_ops',
  'binaryor',      'expr_xor',      'binaryxor',     'expr_ampersand',
  'expr_or_equal',  'not_equal',     'expr_prec_8',   'equal',       
  'lesser_or_equal',  'greater_or_equal',  'leftshift',     'expr_prec_6', 
  'rightshift',    'minus',         'expr_prec_5',   'plus',        
  'modulosign',    'expr_prec_4',   'division',      'try_value_access',
  'try_pointer_access',  'expr_prec_3',   'typecast',      'logicalnot',  
  'expr_prec_2',   'decrement',     'increment',     'cpp_style_cast',
  'dot',           'rightarrow',    'const_cast',    'static_cast', 
  'dynamic_cast',  'reinterpret_cast',  'lvalue_or_assignment',  'initialization_list',
  'initialization_list_argument_list',  'possibly_identifier_preceded_ref',  'possibly_idenitifer_preceded_ptrs',  'numeric',     
  'assignable',    'character',     'string',        'scoped_identifier',
  'preprocessor_stringify',  'preprocessor_concat',  'sizeof',        'non_const_type',
  'scoped_type',   'typename_or_instantiated_template_type',  'template_instantiation_arguments',  'instantiated_template_type_on_in_namespace_resolve',
  'namespace_resolve_terminal',  'typename_in_namespace_resolve',  'instantiated_template_type_on_start_of_namespace_resolve',  'typename_on_start_of_namespace_resolve',
  'type_ref_one',  'type_ref_two',  'type_ref',      'type_or_type_ref',
  'template_instantiation_argument_list',  'template_instantiation_arguments_begin',  'template_instantiation_arguments_end',  'void',        
  'float',         'double',        'long',          'char',        
  'signed',        'unsigned',      'int',           'short',       
    );

    /**
     * For tracing reduce actions, the names of all rules are required.
     * @var array
     */
    static public $yyRuleName = array(
 /*   0 */ "program ::= stmt_list",
 /*   1 */ "program ::= comment_list stmt_list",
 /*   2 */ "stmt_list ::= stmt_list stmt_or_defined_macro",
 /*   3 */ "stmt_list ::= stmt_or_defined_macro",
 /*   4 */ "namespace_definition_start ::= namespacekwd",
 /*   5 */ "namespace_definition_start ::= namespacekwd identifier",
 /*   6 */ "stmt ::= namespace_definition_start namespace_body",
 /*   7 */ "start_of_empty_namespace ::= leftfigurebracket",
 /*   8 */ "namespace_body ::= start_of_empty_namespace rightfigurebracket",
 /*   9 */ "namespace_statements ::= stmt_list",
 /*  10 */ "namespace_body ::= leftfigurebracket namespace_statements rightfigurebracket",
 /*  11 */ "stmt ::= class_or_union_or_struct",
 /*  12 */ "identified_type_meta_specifier_with_template_def ::= type_meta_specifier_with_template_def identifier",
 /*  13 */ "class_or_union_or_struct ::= identified_type_meta_specifier_with_template_def structure_body identifier SEMICOLON",
 /*  14 */ "class_or_union_or_struct ::= identified_type_meta_specifier_with_template_def structure_body identifier SEMICOLON comment_list",
 /*  15 */ "class_or_union_or_struct ::= identified_type_meta_specifier_with_template_def structure_body SEMICOLON",
 /*  16 */ "class_or_union_or_struct ::= identified_type_meta_specifier_with_template_def structure_body SEMICOLON comment_list",
 /*  17 */ "class_or_union_or_struct ::= identified_type_meta_specifier_with_template_def SEMICOLON",
 /*  18 */ "class_or_union_or_struct ::= identified_type_meta_specifier_with_template_def SEMICOLON comment_list",
 /*  19 */ "nonidentified_type_meta_specifier_with_template_def ::= type_meta_specifier_with_template_def",
 /*  20 */ "class_or_union_or_struct ::= nonidentified_type_meta_specifier_with_template_def structure_body identifier SEMICOLON",
 /*  21 */ "class_or_union_or_struct ::= nonidentified_type_meta_specifier_with_template_def structure_body identifier SEMICOLON comment_list",
 /*  22 */ "class_or_union_or_struct ::= nonidentified_type_meta_specifier_with_template_def structure_body SEMICOLON",
 /*  23 */ "class_or_union_or_struct ::= nonidentified_type_meta_specifier_with_template_def structure_body SEMICOLON comment_list",
 /*  24 */ "template_spec_list ::= template_spec_list comma template_spec",
 /*  25 */ "template_spec_list ::= template_spec",
 /*  26 */ "template_spec ::= template_typename",
 /*  27 */ "template_spec ::= template_typename identifier",
 /*  28 */ "template_spec ::= template_typename identifier assign type_or_type_ref_or_with_ptr",
 /*  29 */ "template_spec ::= template_typename identifier assign expr_prec_7",
 /*  30 */ "template_spec ::= template_def template_typename identifier",
 /*  31 */ "template_spec ::= template_def template_typename identifier assign type_or_type_ref_or_with_ptr",
 /*  32 */ "template_spec ::= template_def template_typename identifier assign expr_prec_7",
 /*  33 */ "template_typename ::= typenamekwd",
 /*  34 */ "template_typename ::= classkwd",
 /*  35 */ "template_typename ::= structkwd",
 /*  36 */ "template_typename ::= enumkwd",
 /*  37 */ "template_typename ::= builtintype",
 /*  38 */ "template_def ::= templatekwd lesser greater",
 /*  39 */ "template_def ::= templatekwd lesser template_spec_list greater",
 /*  40 */ "type_meta_specifier_with_template_def ::= template_def type_meta_specifier",
 /*  41 */ "type_meta_specifier_with_template_def ::= type_meta_specifier",
 /*  42 */ "type_meta_specifier ::= classkwd",
 /*  43 */ "type_meta_specifier ::= structkwd",
 /*  44 */ "type_meta_specifier ::= unionkwd",
 /*  45 */ "structure_body ::= leftfigurebracket rightfigurebracket",
 /*  46 */ "structure_body ::= leftfigurebracket stmt_or_visibility_spec_list rightfigurebracket",
 /*  47 */ "stmt_or_visibility_spec_list ::= stmt_or_visibility_spec",
 /*  48 */ "stmt_or_visibility_spec_list ::= stmt_or_visibility_spec_list stmt_or_visibility_spec",
 /*  49 */ "stmt_or_visibility_spec ::= visibility_spec_full",
 /*  50 */ "stmt_or_visibility_spec ::= stmt_or_defined_macro",
 /*  51 */ "visibility_spec_full ::= visibility_spec colon",
 /*  52 */ "visibility_spec_full ::= visibility_spec signal_slots colon",
 /*  53 */ "visibility_spec ::= publickwd",
 /*  54 */ "visibility_spec ::= protectedkwd",
 /*  55 */ "visibility_spec ::= privatekwd",
 /*  56 */ "signal_slots ::= signalskwd",
 /*  57 */ "signal_slots ::= slotskwd",
 /*  58 */ "enum_body ::= leftfigurebracket enum_value_list rightfigurebracket",
 /*  59 */ "enum_body ::= leftfigurebracket rightfigurebracket",
 /*  60 */ "enum_value_list ::= enum_value_list comma enum_value",
 /*  61 */ "enum_value_list ::= enum_value",
 /*  62 */ "enum_value ::= identifier",
 /*  63 */ "enum_value ::= identifier assign expr_atom",
 /*  64 */ "enum_definition_start ::= enumkwd identifier",
 /*  65 */ "stmt_or_defined_macro ::= enum_definition_start SEMICOLON",
 /*  66 */ "stmt_or_defined_macro ::= enum_definition_start SEMICOLON comment_list",
 /*  67 */ "stmt_or_defined_macro ::= enum_definition_start enum_body SEMICOLON",
 /*  68 */ "stmt_or_defined_macro ::= enum_definition_start enum_body SEMICOLON comment_list",
 /*  69 */ "stmt_or_defined_macro ::= enumkwd enum_body SEMICOLON",
 /*  70 */ "stmt_or_defined_macro ::= enumkwd enum_body SEMICOLON comment_list",
 /*  71 */ "stmt_or_defined_macro ::= enum_definition_start enum_body identifier SEMICOLON",
 /*  72 */ "stmt_or_defined_macro ::= enum_definition_start enum_body identifier SEMICOLON comment_list",
 /*  73 */ "stmt_or_defined_macro ::= enumkwd enum_body identifier SEMICOLON",
 /*  74 */ "stmt_or_defined_macro ::= enumkwd enum_body identifier SEMICOLON comment_list",
 /*  75 */ "stmt_or_defined_macro ::= type_or_type_with_qualifier function_definition_without_type",
 /*  76 */ "stmt_or_defined_macro ::= template_def type_or_type_with_qualifier function_definition_without_type",
 /*  77 */ "function_definition_without_type ::= lvalue formal_args_list_with_or_without_const function_body",
 /*  78 */ "function_definition_without_type ::= operator_overload_declaration_type_modificators",
 /*  79 */ "operator_overload_declaration_type_modificators ::= ampersand operator_overload_declaration_ptr",
 /*  80 */ "operator_overload_declaration_type_modificators ::= operator_overload_declaration_ptr",
 /*  81 */ "operator_overload_declaration_ptr ::= constkwd multiply operator_overload_declaration_ptr",
 /*  82 */ "operator_overload_declaration_ptr ::= multiply operator_overload_declaration_ptr",
 /*  83 */ "operator_overload_declaration_ptr ::= operator_overload_declaration_without_type",
 /*  84 */ "operator_overload_declaration_without_type ::= operatoroverloaddeclaration formal_args_list_with_or_without_const function_body",
 /*  85 */ "stmt_or_defined_macro ::= template_def type_or_type_with_qualifier formal_args_list function_body",
 /*  86 */ "stmt_or_defined_macro ::= type_or_type_with_qualifier formal_args_list function_body",
 /*  87 */ "stmt_or_defined_macro ::= binarynot typename formal_args_list function_body",
 /*  88 */ "outer_constructor_name ::= namespace_resolve outer_constructor_name_terminal",
 /*  89 */ "stmt_or_defined_macro ::= template_def outer_constructor_name formal_args_list function_body",
 /*  90 */ "stmt_or_defined_macro ::= outer_constructor_name formal_args_list function_body",
 /*  91 */ "outer_destructor_name ::= namespace_resolve binarynot outer_constructor_name_terminal",
 /*  92 */ "stmt_or_defined_macro ::= template_def outer_destructor_name formal_args_list function_body",
 /*  93 */ "stmt_or_defined_macro ::= outer_destructor_name formal_args_list function_body",
 /*  94 */ "function_body ::= leftfigurebracket stmt_list rightfigurebracket",
 /*  95 */ "function_body ::= leftfigurebracket rightfigurebracket",
 /*  96 */ "function_body ::= SEMICOLON",
 /*  97 */ "function_body ::= SEMICOLON comment_list",
 /*  98 */ "formal_args_list_with_or_without_const ::= formal_args_list",
 /*  99 */ "formal_args_list_with_or_without_const ::= formal_args_list constkwd",
 /* 100 */ "formal_args_list ::= leftroundbracket rightroundbracket",
 /* 101 */ "formal_args_list ::= leftroundbracket arg_list rightroundbracket",
 /* 102 */ "arg_list ::= arg",
 /* 103 */ "arg_list ::= arg_list comma arg",
 /* 104 */ "arg ::= lvalue",
 /* 105 */ "arg ::= type_or_type_ref_or_with_ptr identifier",
 /* 106 */ "arg ::= type_or_type_ref_or_with_ptr",
 /* 107 */ "stmt_or_defined_macro ::= preprocessor_cond stmt_list preprocessor_endif",
 /* 108 */ "stmt_or_defined_macro ::= preprocessor_cond stmt_list preprocessor_else_clauses preprocessor_endif",
 /* 109 */ "preprocessor_else_clauses ::= preprocessor_elif_list preprocessor_else",
 /* 110 */ "preprocessor_else_clauses ::= preprocessor_elif_list",
 /* 111 */ "preprocessor_else_clauses ::= preprocessor_else",
 /* 112 */ "preprocessor_elif_list ::= preprocessor_elif_list preprocessor_elif",
 /* 113 */ "preprocessor_elif_list ::= preprocessor_elif",
 /* 114 */ "preprocessor_elif ::= preprocessor_elif_terminal stmt_list",
 /* 115 */ "preprocessor_else ::= preprocessor_else_terminal stmt_list",
 /* 116 */ "preprocessor_cond ::= preprocessor_ifdef identifier",
 /* 117 */ "preprocessor_cond ::= preprocessor_ifdef typename",
 /* 118 */ "preprocessor_cond ::= preprocessor_if",
 /* 119 */ "stmt_or_defined_macro ::= preprocessor_define",
 /* 120 */ "stmt_or_defined_macro ::= stmt",
 /* 121 */ "stmt ::= preprocessor_include",
 /* 122 */ "stmt ::= whilekwd leftroundbracket expr_prec_10 rightroundbracket stmt",
 /* 123 */ "stmt ::= dokwd stmt whilekwd leftroundbracket expr_prec_11 rightroundbracket semicolon",
 /* 124 */ "stmt ::= FORKWD leftroundbracket expr_prec_11 semicolon expr_prec_11 semicolon expr_prec_11 rightroundbracket stmt",
 /* 125 */ "stmt ::= returnkwd expr_prec_11 SEMICOLON",
 /* 126 */ "stmt ::= returnkwd expr_prec_11 SEMICOLON comment_list",
 /* 127 */ "stmt ::= returnkwd SEMICOLON",
 /* 128 */ "stmt ::= returnkwd SEMICOLON comment_list",
 /* 129 */ "stmt ::= continuekwd SEMICOLON",
 /* 130 */ "stmt ::= continuekwd SEMICOLON comment_list",
 /* 131 */ "stmt ::= gotokwd identifier SEMICOLON",
 /* 132 */ "stmt ::= gotokwd identifier SEMICOLON comment_list",
 /* 133 */ "stmt ::= gotokwd typename SEMICOLON",
 /* 134 */ "stmt ::= gotokwd typename SEMICOLON comment_list",
 /* 135 */ "stmt ::= identifier colon",
 /* 136 */ "stmt ::= try_catch",
 /* 137 */ "try_catch ::= try catch_list",
 /* 138 */ "try ::= trykwd leftfigurebracket rightfigurebracket",
 /* 139 */ "try ::= trykwd leftfigurebracket stmt_list rightfigurebracket",
 /* 140 */ "catch_list ::= catch_list catch",
 /* 141 */ "catch_list ::= catch",
 /* 142 */ "catch ::= catchkwd leftroundbracket expr_prec_11_or_ellipsis rightroundbracket leftfigurebracket rightfigurebracket",
 /* 143 */ "catch ::= catchkwd leftroundbracket expr_prec_11_or_ellipsis rightroundbracket leftfigurebracket stmt_list rightfigurebracket",
 /* 144 */ "expr_prec_11_or_ellipsis ::= expr_prec_11",
 /* 145 */ "expr_prec_11_or_ellipsis ::= ellipsis",
 /* 146 */ "stmt ::= SEMICOLON",
 /* 147 */ "stmt ::= SEMICOLON comment_list",
 /* 148 */ "stmt ::= switch_stmt",
 /* 149 */ "switch_stmt ::= switchkwd leftroundbracket expr_prec_11 rightroundbracket leftfigurebracket rightfigurebracket",
 /* 150 */ "switch_stmt ::= switchkwd leftroundbracket expr_prec_11 rightroundbracket leftfigurebracket switch_case_list rightfigurebracket",
 /* 151 */ "switch_case_list ::= case",
 /* 152 */ "switch_case_list ::= switch_case_list case",
 /* 153 */ "case ::= casekwd expr_atom colon stmt_list",
 /* 154 */ "case ::= defaultkwd colon stmt_list",
 /* 155 */ "stmt ::= if_then_else",
 /* 156 */ "if_then_else ::= if_then",
 /* 157 */ "if_then_else ::= if_then elsekwd stmt",
 /* 158 */ "if_then ::= ifkwd leftroundbracket expr_prec_11 rightroundbracket stmt",
 /* 159 */ "stmt ::= leftfigurebracket stmt_list rightfigurebracket",
 /* 160 */ "stmt ::= typedef type lvalue SEMICOLON",
 /* 161 */ "stmt ::= typedef type lvalue SEMICOLON comment_list",
 /* 162 */ "stmt ::= breakkwd SEMICOLON",
 /* 163 */ "stmt ::= breakkwd SEMICOLON comment_list",
 /* 164 */ "stmt ::= expr_prec_11 SEMICOLON",
 /* 165 */ "stmt ::= expr_prec_11 SEMICOLON comment_list",
 /* 166 */ "expr_prec_11 ::= newkwd expr_prec_10",
 /* 167 */ "expr_prec_11 ::= delete leftsquarebracket rightsquarebracket expr_prec_10",
 /* 168 */ "expr_prec_11 ::= delete expr_prec_10",
 /* 169 */ "expr_prec_11 ::= type_or_type_with_qualifier lvalue_or_assignment_list",
 /* 170 */ "expr_prec_11 ::= expr_list",
 /* 171 */ "expr_list ::= expr_list comma expr_prec_10",
 /* 172 */ "expr_list ::= expr_prec_10",
 /* 173 */ "type_or_type_with_qualifier ::= type_with_qualifier",
 /* 174 */ "type_or_type_with_qualifier ::= type",
 /* 175 */ "type_with_qualifier ::= varqualifier type",
 /* 176 */ "varqualifier ::= statickwd",
 /* 177 */ "varqualifier ::= externkwd",
 /* 178 */ "varqualifier ::= registerkwd",
 /* 179 */ "varqualifier ::= volatilekwd",
 /* 180 */ "varqualifier ::= friendkwd",
 /* 181 */ "expr_prec_10 ::= expr_prec_9 binaryxor_assign expr_prec_10",
 /* 182 */ "expr_prec_10 ::= expr_prec_9 binaryor_assign expr_prec_10",
 /* 183 */ "expr_prec_10 ::= expr_prec_9 binaryand_assign expr_prec_10",
 /* 184 */ "expr_prec_10 ::= expr_prec_9 rightshift_assign expr_prec_10",
 /* 185 */ "expr_prec_10 ::= expr_prec_9 leftshift_assign expr_prec_10",
 /* 186 */ "expr_prec_10 ::= expr_prec_9 modulo_assign expr_prec_10",
 /* 187 */ "expr_prec_10 ::= expr_prec_9 division_assign expr_prec_10",
 /* 188 */ "expr_prec_10 ::= expr_prec_9 multiply_assign expr_prec_10",
 /* 189 */ "expr_prec_10 ::= expr_prec_9 plus_assign expr_prec_10",
 /* 190 */ "expr_prec_10 ::= expr_prec_9 minus_assign expr_prec_10",
 /* 191 */ "expr_prec_10 ::= expr_prec_9 assign expr_prec_10",
 /* 192 */ "expr_prec_10 ::= expr_prec_9",
 /* 193 */ "expr_prec_9 ::= expr_prec_9 logicalor expr_logical_and",
 /* 194 */ "expr_prec_9 ::= expr_logical_and",
 /* 195 */ "expr_logical_and ::= expr_logical_and logicaland expr_binary_ops",
 /* 196 */ "expr_logical_and ::= expr_binary_ops",
 /* 197 */ "expr_binary_ops ::= expr_binary_ops binaryor expr_xor",
 /* 198 */ "expr_binary_ops ::= expr_xor",
 /* 199 */ "expr_xor ::= expr_xor binaryxor expr_ampersand",
 /* 200 */ "expr_xor ::= expr_ampersand",
 /* 201 */ "expr_ampersand ::= expr_ampersand ampersand expr_or_equal",
 /* 202 */ "expr_ampersand ::= expr_or_equal",
 /* 203 */ "expr_or_equal ::= expr_or_equal not_equal expr_prec_8",
 /* 204 */ "expr_or_equal ::= expr_or_equal equal expr_prec_8",
 /* 205 */ "expr_or_equal ::= expr_prec_8",
 /* 206 */ "expr_prec_8 ::= expr_prec_8 lesser_or_equal expr_prec_7",
 /* 207 */ "expr_prec_8 ::= expr_prec_8 greater_or_equal expr_prec_7",
 /* 208 */ "expr_prec_8 ::= expr_prec_8 greater expr_prec_7",
 /* 209 */ "expr_prec_8 ::= expr_prec_8 lesser expr_prec_7",
 /* 210 */ "expr_prec_8 ::= expr_prec_7",
 /* 211 */ "expr_prec_7 ::= expr_prec_7 leftshift expr_prec_6",
 /* 212 */ "expr_prec_7 ::= expr_prec_7 rightshift expr_prec_6",
 /* 213 */ "expr_prec_7 ::= expr_prec_6",
 /* 214 */ "expr_prec_6 ::= expr_prec_6 minus expr_prec_5",
 /* 215 */ "expr_prec_6 ::= expr_prec_6 plus expr_prec_5",
 /* 216 */ "expr_prec_6 ::= expr_prec_5",
 /* 217 */ "expr_prec_5 ::= expr_prec_5 modulosign expr_prec_4",
 /* 218 */ "expr_prec_5 ::= expr_prec_5 division expr_prec_4",
 /* 219 */ "expr_prec_5 ::= expr_prec_5 multiply expr_prec_4",
 /* 220 */ "expr_prec_5 ::= expr_prec_4",
 /* 221 */ "expr_prec_4 ::= try_value_access multiply identifier",
 /* 222 */ "expr_prec_4 ::= try_pointer_access multiply identifier",
 /* 223 */ "expr_prec_4 ::= expr_prec_3",
 /* 224 */ "expr_prec_3 ::= ampersand expr_prec_3",
 /* 225 */ "expr_prec_3 ::= multiply expr_prec_3",
 /* 226 */ "expr_prec_3 ::= typecast expr_prec_3",
 /* 227 */ "expr_prec_3 ::= logicalnot expr_prec_3",
 /* 228 */ "expr_prec_3 ::= binarynot expr_prec_3",
 /* 229 */ "expr_prec_3 ::= minus expr_prec_2",
 /* 230 */ "expr_prec_3 ::= plus expr_prec_2",
 /* 231 */ "expr_prec_3 ::= decrement expr_prec_3",
 /* 232 */ "expr_prec_3 ::= increment expr_prec_3",
 /* 233 */ "expr_prec_3 ::= expr_prec_2",
 /* 234 */ "expr_prec_2 ::= try_value_access identifier",
 /* 235 */ "expr_prec_2 ::= try_pointer_access identifier",
 /* 236 */ "expr_prec_2 ::= cpp_style_cast leftroundbracket expr_prec_11 rightroundbracket",
 /* 237 */ "expr_prec_2 ::= expr_prec_2 leftsquarebracket expr_prec_10 rightsquarebracket",
 /* 238 */ "expr_prec_2 ::= expr_prec_2 leftroundbracket expr_list rightroundbracket",
 /* 239 */ "expr_prec_2 ::= expr_prec_2 leftroundbracket rightroundbracket",
 /* 240 */ "expr_prec_2 ::= expr_prec_2 increment",
 /* 241 */ "expr_prec_2 ::= expr_prec_2 decrement",
 /* 242 */ "expr_prec_2 ::= expr_atom",
 /* 243 */ "try_value_access ::= expr_prec_2 dot",
 /* 244 */ "try_pointer_access ::= expr_prec_2 rightarrow",
 /* 245 */ "cpp_style_cast ::= const_cast lesser type_or_type_ref_or_with_ptr greater",
 /* 246 */ "cpp_style_cast ::= static_cast lesser type_or_type_ref_or_with_ptr greater",
 /* 247 */ "cpp_style_cast ::= dynamic_cast lesser type_or_type_ref_or_with_ptr greater",
 /* 248 */ "cpp_style_cast ::= reinterpret_cast lesser type_or_type_ref_or_with_ptr greater",
 /* 249 */ "lvalue_or_assignment_list ::= lvalue_or_assignment",
 /* 250 */ "lvalue_or_assignment_list ::= lvalue_or_assignment_list comma lvalue_or_assignment",
 /* 251 */ "lvalue_or_assignment ::= lvalue",
 /* 252 */ "lvalue_or_assignment ::= lvalue assign expr_prec_10",
 /* 253 */ "lvalue_or_assignment ::= lvalue assign initialization_list",
 /* 254 */ "initialization_list ::= leftfigurebracket rightfigurebracket",
 /* 255 */ "initialization_list ::= leftfigurebracket initialization_list_argument_list rightfigurebracket",
 /* 256 */ "initialization_list_argument_list ::= expr_prec_10",
 /* 257 */ "initialization_list_argument_list ::= initialization_list",
 /* 258 */ "initialization_list_argument_list ::= initialization_list_argument_list comma expr_prec_10",
 /* 259 */ "initialization_list_argument_list ::= initialization_list_argument_list comma initialization_list",
 /* 260 */ "lvalue ::= possibly_identifier_preceded_ref",
 /* 261 */ "lvalue ::= lvalue leftsquarebracket expr_prec_9 rightsquarebracket",
 /* 262 */ "lvalue ::= lvalue leftsquarebracket rightsquarebracket",
 /* 263 */ "possibly_identifier_preceded_ref ::= ampersand possibly_idenitifer_preceded_ptrs",
 /* 264 */ "possibly_identifier_preceded_ref ::= possibly_idenitifer_preceded_ptrs",
 /* 265 */ "possibly_idenitifer_preceded_ptrs ::= identifier",
 /* 266 */ "possibly_idenitifer_preceded_ptrs ::= leftroundbracket arg_list rightroundbracket formal_args_list_with_or_without_const",
 /* 267 */ "possibly_idenitifer_preceded_ptrs ::= leftroundbracket namespace_resolve possibly_identifier_preceded_ref rightroundbracket formal_args_list_with_or_without_const",
 /* 268 */ "possibly_idenitifer_preceded_ptrs ::= multiply possibly_idenitifer_preceded_ptrs",
 /* 269 */ "possibly_idenitifer_preceded_ptrs ::= constkwd multiply possibly_idenitifer_preceded_ptrs",
 /* 270 */ "possibly_idenitifer_preceded_ptrs ::= volatilekwd multiply possibly_idenitifer_preceded_ptrs",
 /* 271 */ "expr_atom ::= numeric",
 /* 272 */ "expr_atom ::= assignable",
 /* 273 */ "expr_atom ::= character",
 /* 274 */ "expr_atom ::= string",
 /* 275 */ "assignable ::= identifier",
 /* 276 */ "assignable ::= scoped_identifier",
 /* 277 */ "scoped_identifier ::= namespace_resolve identifier",
 /* 278 */ "expr_atom ::= leftroundbracket expr_list rightroundbracket",
 /* 279 */ "expr_atom ::= preprocessor_stringify identifier",
 /* 280 */ "expr_atom ::= preprocessor_stringify typename",
 /* 281 */ "expr_atom ::= identifier preprocessor_concat identifier",
 /* 282 */ "expr_atom ::= identifier preprocessor_concat typename",
 /* 283 */ "expr_atom ::= typename preprocessor_concat identifier",
 /* 284 */ "expr_atom ::= typename preprocessor_concat typename",
 /* 285 */ "expr_atom ::= sizeof leftroundbracket type_or_type_ref_or_with_ptr rightroundbracket",
 /* 286 */ "expr_atom ::= sizeof leftroundbracket expr_atom rightroundbracket",
 /* 287 */ "typecast ::= leftroundbracket type_or_type_ref_or_with_ptr rightroundbracket",
 /* 288 */ "type ::= constkwd non_const_type",
 /* 289 */ "type ::= non_const_type",
 /* 290 */ "non_const_type ::= builtintype",
 /* 291 */ "non_const_type ::= scoped_type",
 /* 292 */ "non_const_type ::= typename_or_instantiated_template_type",
 /* 293 */ "scoped_type ::= namespace_resolve typename template_instantiation_arguments",
 /* 294 */ "scoped_type ::= namespace_resolve typename",
 /* 295 */ "namespace_resolve ::= namespace_resolve instantiated_template_type_on_in_namespace_resolve namespace_resolve_terminal",
 /* 296 */ "namespace_resolve ::= namespace_resolve typename_in_namespace_resolve namespace_resolve_terminal",
 /* 297 */ "typename_in_namespace_resolve ::= typename",
 /* 298 */ "instantiated_template_type_on_in_namespace_resolve ::= typename template_instantiation_arguments",
 /* 299 */ "namespace_resolve ::= instantiated_template_type_on_start_of_namespace_resolve namespace_resolve_terminal",
 /* 300 */ "namespace_resolve ::= typename_on_start_of_namespace_resolve namespace_resolve_terminal",
 /* 301 */ "namespace_resolve ::= namespace_resolve_terminal typename_on_start_of_namespace_resolve namespace_resolve_terminal",
 /* 302 */ "instantiated_template_type_on_start_of_namespace_resolve ::= typename template_instantiation_arguments",
 /* 303 */ "typename_on_start_of_namespace_resolve ::= typename",
 /* 304 */ "typename_or_instantiated_template_type ::= typename",
 /* 305 */ "typename_or_instantiated_template_type ::= typename template_instantiation_arguments",
 /* 306 */ "type_ref_one ::= type ampersand",
 /* 307 */ "type_ref_two ::= type_ref_one ampersand",
 /* 308 */ "type_ref ::= type_ref_one",
 /* 309 */ "type_ref ::= type_ref_two",
 /* 310 */ "type_or_type_ref ::= type",
 /* 311 */ "type_or_type_ref ::= type_ref",
 /* 312 */ "type_or_type_ref_or_with_ptr ::= type_or_type_ref",
 /* 313 */ "type_or_type_ref_or_with_ptr ::= type_or_type_ref_or_with_ptr multiply",
 /* 314 */ "type_or_type_ref_or_with_ptr ::= type_or_type_ref_or_with_ptr constkwd multiply",
 /* 315 */ "template_instantiation_argument_list ::= type_or_type_ref_or_with_ptr",
 /* 316 */ "template_instantiation_argument_list ::= expr_atom",
 /* 317 */ "template_instantiation_argument_list ::= template_instantiation_argument_list comma type_or_type_ref_or_with_ptr",
 /* 318 */ "template_instantiation_argument_list ::= template_instantiation_argument_list comma expr_atom",
 /* 319 */ "template_instantiation_arguments_begin ::= lesser",
 /* 320 */ "template_instantiation_arguments_end ::= greater",
 /* 321 */ "template_instantiation_arguments ::= template_instantiation_arguments_begin template_instantiation_arguments_end",
 /* 322 */ "template_instantiation_arguments ::= template_instantiation_arguments_begin template_instantiation_argument_list template_instantiation_arguments_end",
 /* 323 */ "builtintype ::= void",
 /* 324 */ "builtintype ::= float",
 /* 325 */ "builtintype ::= double",
 /* 326 */ "builtintype ::= long double",
 /* 327 */ "builtintype ::= char",
 /* 328 */ "builtintype ::= signed char",
 /* 329 */ "builtintype ::= unsigned char",
 /* 330 */ "builtintype ::= int",
 /* 331 */ "builtintype ::= signed int",
 /* 332 */ "builtintype ::= unsigned int",
 /* 333 */ "builtintype ::= short int",
 /* 334 */ "builtintype ::= signed short int",
 /* 335 */ "builtintype ::= unsigned short int",
 /* 336 */ "builtintype ::= long int",
 /* 337 */ "builtintype ::= signed long int",
 /* 338 */ "builtintype ::= unsigned long int",
 /* 339 */ "builtintype ::= long long int",
 /* 340 */ "builtintype ::= signed long long int",
 /* 341 */ "builtintype ::= unsigned long long int",
 /* 342 */ "builtintype ::= short",
 /* 343 */ "builtintype ::= signed short",
 /* 344 */ "builtintype ::= unsigned short",
 /* 345 */ "builtintype ::= long",
 /* 346 */ "builtintype ::= signed long",
 /* 347 */ "builtintype ::= unsigned long",
 /* 348 */ "builtintype ::= long long",
 /* 349 */ "builtintype ::= signed long long",
 /* 350 */ "builtintype ::= unsigned long long",
 /* 351 */ "unsigned ::= UNSIGNED",
 /* 352 */ "unsigned ::= UNSIGNED comment_list",
 /* 353 */ "signed ::= SIGNED",
 /* 354 */ "signed ::= SIGNED comment_list",
 /* 355 */ "long ::= LONG",
 /* 356 */ "long ::= LONG comment_list",
 /* 357 */ "short ::= SHORT",
 /* 358 */ "short ::= SHORT comment_list",
 /* 359 */ "int ::= INT",
 /* 360 */ "int ::= INT comment_list",
 /* 361 */ "char ::= CHAR",
 /* 362 */ "char ::= CHAR comment_list",
 /* 363 */ "double ::= DOUBLE",
 /* 364 */ "double ::= DOUBLE comment_list",
 /* 365 */ "float ::= FLOAT",
 /* 366 */ "float ::= FLOAT comment_list",
 /* 367 */ "void ::= VOID",
 /* 368 */ "void ::= VOID comment_list",
 /* 369 */ "greater ::= GREATER",
 /* 370 */ "greater ::= GREATER comment_list",
 /* 371 */ "comma ::= COMMA",
 /* 372 */ "comma ::= COMMA comment_list",
 /* 373 */ "lesser ::= LESSER",
 /* 374 */ "lesser ::= LESSER comment_list",
 /* 375 */ "multiply ::= MULTIPLY",
 /* 376 */ "multiply ::= MULTIPLY comment_list",
 /* 377 */ "ampersand ::= AMPERSAND",
 /* 378 */ "ampersand ::= AMPERSAND comment_list",
 /* 379 */ "constkwd ::= CONSTKWD",
 /* 380 */ "constkwd ::= CONSTKWD comment_list",
 /* 381 */ "typename ::= TYPENAME",
 /* 382 */ "typename ::= TYPENAME comment_list",
 /* 383 */ "namespace_resolve_terminal ::= NAMESPACE_RESOLVE",
 /* 384 */ "namespace_resolve_terminal ::= NAMESPACE_RESOLVE comment_list",
 /* 385 */ "leftroundbracket ::= LEFTROUNDBRACKET",
 /* 386 */ "leftroundbracket ::= LEFTROUNDBRACKET comment_list",
 /* 387 */ "rightroundbracket ::= RIGHTROUNDBRACKET",
 /* 388 */ "rightroundbracket ::= RIGHTROUNDBRACKET comment_list",
 /* 389 */ "sizeof ::= SIZEOF",
 /* 390 */ "sizeof ::= SIZEOF comment_list",
 /* 391 */ "identifier ::= IDENTIFIER",
 /* 392 */ "identifier ::= IDENTIFIER comment_list",
 /* 393 */ "preprocessor_concat ::= PREPROCESSOR_CONCAT",
 /* 394 */ "preprocessor_concat ::= PREPROCESSOR_CONCAT comment_list",
 /* 395 */ "preprocessor_stringify ::= PREPROCESSOR_STRINGIFY",
 /* 396 */ "preprocessor_stringify ::= PREPROCESSOR_STRINGIFY comment_list",
 /* 397 */ "string ::= STRING",
 /* 398 */ "string ::= STRING comment_list",
 /* 399 */ "string ::= string STRING",
 /* 400 */ "string ::= string STRING comment_list",
 /* 401 */ "character ::= CHARACTER",
 /* 402 */ "character ::= CHARACTER comment_list",
 /* 403 */ "numeric ::= NUMERIC",
 /* 404 */ "numeric ::= NUMERIC comment_list",
 /* 405 */ "leftsquarebracket ::= LEFTSQUAREBRACKET",
 /* 406 */ "leftsquarebracket ::= LEFTSQUAREBRACKET comment_list",
 /* 407 */ "rightsquarebracket ::= RIGHTSQUAREBRACKET",
 /* 408 */ "rightsquarebracket ::= RIGHTSQUAREBRACKET comment_list",
 /* 409 */ "leftfigurebracket ::= LEFTFIGUREBRACKET",
 /* 410 */ "leftfigurebracket ::= LEFTFIGUREBRACKET comment_list",
 /* 411 */ "rightfigurebracket ::= RIGHTFIGUREBRACKET",
 /* 412 */ "rightfigurebracket ::= RIGHTFIGUREBRACKET comment_list",
 /* 413 */ "assign ::= ASSIGN",
 /* 414 */ "assign ::= ASSIGN comment_list",
 /* 415 */ "reinterpret_cast ::= REINTERPRET_CAST",
 /* 416 */ "reinterpret_cast ::= REINTERPRET_CAST comment_list",
 /* 417 */ "dynamic_cast ::= DYNAMIC_CAST",
 /* 418 */ "dynamic_cast ::= DYNAMIC_CAST comment_list",
 /* 419 */ "static_cast ::= STATIC_CAST",
 /* 420 */ "static_cast ::= STATIC_CAST comment_list",
 /* 421 */ "const_cast ::= CONST_CAST",
 /* 422 */ "const_cast ::= CONST_CAST comment_list",
 /* 423 */ "rightarrow ::= RIGHTARROW",
 /* 424 */ "rightarrow ::= RIGHTARROW comment_list",
 /* 425 */ "dot ::= DOT",
 /* 426 */ "dot ::= DOT comment_list",
 /* 427 */ "decrement ::= DECREMENT",
 /* 428 */ "decrement ::= DECREMENT comment_list",
 /* 429 */ "increment ::= INCREMENT",
 /* 430 */ "increment ::= INCREMENT comment_list",
 /* 431 */ "plus ::= PLUS",
 /* 432 */ "plus ::= PLUS comment_list",
 /* 433 */ "minus ::= MINUS",
 /* 434 */ "minus ::= MINUS comment_list",
 /* 435 */ "binarynot ::= BINARYNOT",
 /* 436 */ "binarynot ::= BINARYNOT comment_list",
 /* 437 */ "logicalnot ::= LOGICALNOT",
 /* 438 */ "logicalnot ::= LOGICALNOT comment_list",
 /* 439 */ "division ::= DIVISION",
 /* 440 */ "division ::= DIVISION comment_list",
 /* 441 */ "modulosign ::= MODULOSIGN",
 /* 442 */ "modulosign ::= MODULOSIGN comment_list",
 /* 443 */ "rightshift ::= RIGHTSHIFT",
 /* 444 */ "rightshift ::= RIGHTSHIFT comment_list",
 /* 445 */ "leftshift ::= LEFTSHIFT",
 /* 446 */ "leftshift ::= LEFTSHIFT comment_list",
 /* 447 */ "greater_or_equal ::= GREATER_OR_EQUAL",
 /* 448 */ "greater_or_equal ::= GREATER_OR_EQUAL comment_list",
 /* 449 */ "lesser_or_equal ::= LESSER_OR_EQUAL",
 /* 450 */ "lesser_or_equal ::= LESSER_OR_EQUAL comment_list",
 /* 451 */ "equal ::= EQUAL",
 /* 452 */ "equal ::= EQUAL comment_list",
 /* 453 */ "not_equal ::= NOT_EQUAL",
 /* 454 */ "not_equal ::= NOT_EQUAL comment_list",
 /* 455 */ "binaryor ::= BINARYOR",
 /* 456 */ "binaryor ::= BINARYOR comment_list",
 /* 457 */ "binaryxor ::= BINARYXOR",
 /* 458 */ "binaryxor ::= BINARYXOR comment_list",
 /* 459 */ "logicalor ::= LOGICALOR",
 /* 460 */ "logicalor ::= LOGICALOR comment_list",
 /* 461 */ "logicaland ::= LOGICALAND",
 /* 462 */ "logicaland ::= LOGICALAND comment_list",
 /* 463 */ "minus_assign ::= MINUS_ASSIGN",
 /* 464 */ "minus_assign ::= MINUS_ASSIGN comment_list",
 /* 465 */ "plus_assign ::= PLUS_ASSIGN",
 /* 466 */ "plus_assign ::= PLUS_ASSIGN comment_list",
 /* 467 */ "multiply_assign ::= MULTIPLY_ASSIGN",
 /* 468 */ "multiply_assign ::= MULTIPLY_ASSIGN comment_list",
 /* 469 */ "division_assign ::= DIVISION_ASSIGN",
 /* 470 */ "division_assign ::= DIVISION_ASSIGN comment_list",
 /* 471 */ "modulo_assign ::= MODULO_ASSIGN",
 /* 472 */ "modulo_assign ::= MODULO_ASSIGN comment_list",
 /* 473 */ "leftshift_assign ::= LEFTSHIFT_ASSIGN",
 /* 474 */ "leftshift_assign ::= LEFTSHIFT_ASSIGN comment_list",
 /* 475 */ "rightshift_assign ::= RIGHTSHIFT_ASSIGN",
 /* 476 */ "rightshift_assign ::= RIGHTSHIFT_ASSIGN comment_list",
 /* 477 */ "binaryand_assign ::= BINARYAND_ASSIGN",
 /* 478 */ "binaryand_assign ::= BINARYAND_ASSIGN comment_list",
 /* 479 */ "binaryor_assign ::= BINARYOR_ASSIGN",
 /* 480 */ "binaryor_assign ::= BINARYOR_ASSIGN comment_list",
 /* 481 */ "binaryxor_assign ::= BINARYXOR_ASSIGN",
 /* 482 */ "binaryxor_assign ::= BINARYXOR_ASSIGN comment_list",
 /* 483 */ "friendkwd ::= FRIENDKWD",
 /* 484 */ "friendkwd ::= FRIENDKWD comment_list",
 /* 485 */ "volatilekwd ::= VOLATILEKWD",
 /* 486 */ "volatilekwd ::= VOLATILEKWD comment_list",
 /* 487 */ "registerkwd ::= REGISTERKWD",
 /* 488 */ "registerkwd ::= REGISTERKWD comment_list",
 /* 489 */ "externkwd ::= EXTERNKWD",
 /* 490 */ "externkwd ::= EXTERNKWD comment_list",
 /* 491 */ "statickwd ::= STATICKWD",
 /* 492 */ "statickwd ::= STATICKWD comment_list",
 /* 493 */ "delete ::= DELETE",
 /* 494 */ "delete ::= DELETE comment_list",
 /* 495 */ "newkwd ::= NEWKWD",
 /* 496 */ "newkwd ::= NEWKWD comment_list",
 /* 497 */ "breakkwd ::= BREAKKWD",
 /* 498 */ "breakkwd ::= BREAKKWD comment_list",
 /* 499 */ "typedef ::= TYPEDEF",
 /* 500 */ "typedef ::= TYPEDEF comment_list",
 /* 501 */ "ifkwd ::= IFKWD",
 /* 502 */ "ifkwd ::= IFKWD comment_list",
 /* 503 */ "elsekwd ::= ELSEKWD",
 /* 504 */ "elsekwd ::= ELSEKWD comment_list",
 /* 505 */ "defaultkwd ::= DEFAULTKWD",
 /* 506 */ "defaultkwd ::= DEFAULTKWD comment_list",
 /* 507 */ "casekwd ::= CASEKWD",
 /* 508 */ "casekwd ::= CASEKWD comment_list",
 /* 509 */ "colon ::= COLON",
 /* 510 */ "colon ::= COLON comment_list",
 /* 511 */ "switchkwd ::= SWITCHKWD",
 /* 512 */ "switchkwd ::= SWITCHKWD comment_list",
 /* 513 */ "ellipsis ::= ELLIPSIS",
 /* 514 */ "ellipsis ::= ELLIPSIS comment_list",
 /* 515 */ "catchkwd ::= CATCHKWD",
 /* 516 */ "catchkwd ::= CATCHKWD comment_list",
 /* 517 */ "trykwd ::= TRYKWD",
 /* 518 */ "trykwd ::= TRYKWD comment_list",
 /* 519 */ "gotokwd ::= GOTOKWD",
 /* 520 */ "gotokwd ::= GOTOKWD comment_list",
 /* 521 */ "continuekwd ::= CONTINUEKWD",
 /* 522 */ "continuekwd ::= CONTINUEKWD comment_list",
 /* 523 */ "returnkwd ::= RETURNKWD",
 /* 524 */ "returnkwd ::= RETURNKWD comment_list",
 /* 525 */ "semicolon ::= SEMICOLON",
 /* 526 */ "semicolon ::= SEMICOLON comment_list",
 /* 527 */ "dokwd ::= DOKWD",
 /* 528 */ "dokwd ::= DOKWD comment_list",
 /* 529 */ "whilekwd ::= WHILEKWD",
 /* 530 */ "whilekwd ::= WHILEKWD comment_list",
 /* 531 */ "preprocessor_include ::= PREPROCESSOR_INCLUDE",
 /* 532 */ "preprocessor_include ::= PREPROCESSOR_INCLUDE comment_list",
 /* 533 */ "preprocessor_define ::= PREPROCESSOR_DEFINE",
 /* 534 */ "preprocessor_define ::= PREPROCESSOR_DEFINE comment_list",
 /* 535 */ "preprocessor_if ::= PREPROCESSOR_IF",
 /* 536 */ "preprocessor_if ::= PREPROCESSOR_IF comment_list",
 /* 537 */ "preprocessor_ifdef ::= PREPROCESSOR_IFDEF",
 /* 538 */ "preprocessor_ifdef ::= PREPROCESSOR_IFDEF comment_list",
 /* 539 */ "preprocessor_else_terminal ::= PREPROCESSOR_ELSE",
 /* 540 */ "preprocessor_else_terminal ::= PREPROCESSOR_ELSE comment_list",
 /* 541 */ "preprocessor_elif_terminal ::= PREPROCESSOR_ELIF",
 /* 542 */ "preprocessor_elif_terminal ::= PREPROCESSOR_ELIF comment_list",
 /* 543 */ "preprocessor_endif ::= PREPROCESSOR_ENDIF",
 /* 544 */ "preprocessor_endif ::= PREPROCESSOR_ENDIF comment_list",
 /* 545 */ "outer_constructor_name_terminal ::= OUTER_CONSTRUCTOR_NAME",
 /* 546 */ "outer_constructor_name_terminal ::= OUTER_CONSTRUCTOR_NAME comment_list",
 /* 547 */ "operatoroverloaddeclaration ::= OPERATOROVERLOADDECLARATION",
 /* 548 */ "operatoroverloaddeclaration ::= OPERATOROVERLOADDECLARATION comment_list",
 /* 549 */ "enumkwd ::= ENUMKWD",
 /* 550 */ "enumkwd ::= ENUMKWD comment_list",
 /* 551 */ "slotskwd ::= SLOTSKWD",
 /* 552 */ "slotskwd ::= SLOTSKWD comment_list",
 /* 553 */ "signalskwd ::= SIGNALSKWD",
 /* 554 */ "signalskwd ::= SIGNALSKWD comment_list",
 /* 555 */ "privatekwd ::= PRIVATEKWD",
 /* 556 */ "privatekwd ::= PRIVATEKWD comment_list",
 /* 557 */ "protectedkwd ::= PROTECTEDKWD",
 /* 558 */ "protectedkwd ::= PROTECTEDKWD comment_list",
 /* 559 */ "publickwd ::= PUBLICKWD",
 /* 560 */ "publickwd ::= PUBLICKWD comment_list",
 /* 561 */ "unionkwd ::= UNIONKWD",
 /* 562 */ "unionkwd ::= UNIONKWD comment_list",
 /* 563 */ "structkwd ::= STRUCTKWD",
 /* 564 */ "structkwd ::= STRUCTKWD comment_list",
 /* 565 */ "classkwd ::= CLASSKWD",
 /* 566 */ "classkwd ::= CLASSKWD comment_list",
 /* 567 */ "templatekwd ::= TEMPLATEKWD",
 /* 568 */ "templatekwd ::= TEMPLATEKWD comment_list",
 /* 569 */ "typenamekwd ::= TYPENAMEKWD",
 /* 570 */ "typenamekwd ::= TYPENAMEKWD comment_list",
 /* 571 */ "namespacekwd ::= NAMESPACEKWD",
 /* 572 */ "namespacekwd ::= NAMESPACEKWD comment_list",
 /* 573 */ "comment_list ::= comment_list COMMENT",
 /* 574 */ "comment_list ::= COMMENT",
    );

    /**
     * This function returns the symbolic name associated with a token
     * value.
     * @param int
     * @return string
     */
    function tokenName($tokenType)
    {
        if ($tokenType === 0) {
            return 'End of Input';
        }
        if ($tokenType > 0 && $tokenType < count(self::$yyTokenName)) {
            return self::$yyTokenName[$tokenType];
        } else {
            return "Unknown";
        }
    }

    /**
     * The following function deletes the value associated with a
     * symbol.  The symbol can be either a terminal or nonterminal.
     * @param int the symbol code
     * @param mixed the symbol's value
     */
    static function yy_destructor($yymajor, $yypminor)
    {
        switch ($yymajor) {
        /* Here is inserted the actions which take place when a
        ** terminal or non-terminal is destroyed.  This can happen
        ** when the symbol is popped from the stack during a
        ** reduce or during error processing or when a parser is 
        ** being destroyed before it is finished parsing.
        **
        ** Note: during a reduce, the only symbols destroyed are those
        ** which appear on the RHS of the rule, but which are not used
        ** inside the C code.
        */
            default:  break;   /* If no destructor action specified: do nothing */
        }
    }

    /**
     * Pop the parser's stack once.
     *
     * If there is a destructor routine associated with the token which
     * is popped from the stack, then call it.
     *
     * Return the major token number for the symbol popped.
     * @param block_formal_langs_parser_cpp_languageyyParser
     * @return int
     */
    function yy_pop_parser_stack()
    {
        if (!count($this->yystack)) {
            return;
        }
        $yytos = array_pop($this->yystack);
        if (self::$yyTraceFILE && $this->yyidx >= 0) {
            fwrite(self::$yyTraceFILE,
                self::$yyTracePrompt . 'Popping ' . self::$yyTokenName[$yytos->major] .
                    "\n");
        }
        $yymajor = $yytos->major;
        self::yy_destructor($yymajor, $yytos->minor);
        $this->yyidx--;
        return $yymajor;
    }

    /**
     * Deallocate and destroy a parser.  Destructors are all called for
     * all stack elements before shutting the parser down.
     */
    function __destruct()
    {
        while ($this->yyidx >= 0) {
            $this->yy_pop_parser_stack();
        }
        if (is_resource(self::$yyTraceFILE)) {
            fclose(self::$yyTraceFILE);
        }
    }

    /**
     * Based on the current state and parser stack, get a list of all
     * possible lookahead tokens
     * @param int
     * @return array
     */
    function yy_get_expected_tokens($token)
    {
        $state = $this->yystack[$this->yyidx]->stateno;
        $expected = self::$yyExpectedTokens[$state];
        if (in_array($token, self::$yyExpectedTokens[$state], true)) {
            return $expected;
        }
        $stack = $this->yystack;
        $yyidx = $this->yyidx;
        do {
            $yyact = $this->yy_find_shift_action($token);
            if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
                // reduce action
                $done = 0;
                do {
                    if ($done++ == 100) {
                        $this->yyidx = $yyidx;
                        $this->yystack = $stack;
                        // too much recursion prevents proper detection
                        // so give up
                        return array_unique($expected);
                    }
                    $yyruleno = $yyact - self::YYNSTATE;
                    $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
                    $nextstate = $this->yy_find_reduce_action(
                        $this->yystack[$this->yyidx]->stateno,
                        self::$yyRuleInfo[$yyruleno]['lhs']);
                    if (isset(self::$yyExpectedTokens[$nextstate])) {
                        $expected += self::$yyExpectedTokens[$nextstate];
                            if (in_array($token,
                                  self::$yyExpectedTokens[$nextstate], true)) {
                            $this->yyidx = $yyidx;
                            $this->yystack = $stack;
                            return array_unique($expected);
                        }
                    }
                    if ($nextstate < self::YYNSTATE) {
                        // we need to shift a non-terminal
                        $this->yyidx++;
                        $x = new block_formal_langs_parser_cpp_languageyyStackEntry;
                        $x->stateno = $nextstate;
                        $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
                        $this->yystack[$this->yyidx] = $x;
                        continue 2;
                    } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
                        $this->yyidx = $yyidx;
                        $this->yystack = $stack;
                        // the last token was just ignored, we can't accept
                        // by ignoring input, this is in essence ignoring a
                        // syntax error!
                        return array_unique($expected);
                    } elseif ($nextstate === self::YY_NO_ACTION) {
                        $this->yyidx = $yyidx;
                        $this->yystack = $stack;
                        // input accepted, but not shifted (I guess)
                        return $expected;
                    } else {
                        $yyact = $nextstate;
                    }
                } while (true);
            }
            break;
        } while (true);
        return array_unique($expected);
    }

    /**
     * Based on the parser state and current parser stack, determine whether
     * the lookahead token is possible.
     * 
     * The parser will convert the token value to an error token if not.  This
     * catches some unusual edge cases where the parser would fail.
     * @param int
     * @return bool
     */
    function yy_is_expected_token($token)
    {
        if ($token === 0) {
            return true; // 0 is not part of this
        }
        $state = $this->yystack[$this->yyidx]->stateno;
        if (in_array($token, self::$yyExpectedTokens[$state], true)) {
            return true;
        }
        $stack = $this->yystack;
        $yyidx = $this->yyidx;
        do {
            $yyact = $this->yy_find_shift_action($token);
            if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
                // reduce action
                $done = 0;
                do {
                    if ($done++ == 100) {
                        $this->yyidx = $yyidx;
                        $this->yystack = $stack;
                        // too much recursion prevents proper detection
                        // so give up
                        return true;
                    }
                    $yyruleno = $yyact - self::YYNSTATE;
                    $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
                    $nextstate = $this->yy_find_reduce_action(
                        $this->yystack[$this->yyidx]->stateno,
                        self::$yyRuleInfo[$yyruleno]['lhs']);
                    if (isset(self::$yyExpectedTokens[$nextstate]) &&
                          in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
                        $this->yyidx = $yyidx;
                        $this->yystack = $stack;
                        return true;
                    }
                    if ($nextstate < self::YYNSTATE) {
                        // we need to shift a non-terminal
                        $this->yyidx++;
                        $x = new block_formal_langs_parser_cpp_languageyyStackEntry;
                        $x->stateno = $nextstate;
                        $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
                        $this->yystack[$this->yyidx] = $x;
                        continue 2;
                    } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
                        $this->yyidx = $yyidx;
                        $this->yystack = $stack;
                        if (!$token) {
                            // end of input: this is valid
                            return true;
                        }
                        // the last token was just ignored, we can't accept
                        // by ignoring input, this is in essence ignoring a
                        // syntax error!
                        return false;
                    } elseif ($nextstate === self::YY_NO_ACTION) {
                        $this->yyidx = $yyidx;
                        $this->yystack = $stack;
                        // input accepted, but not shifted (I guess)
                        return true;
                    } else {
                        $yyact = $nextstate;
                    }
                } while (true);
            }
            break;
        } while (true);
        $this->yyidx = $yyidx;
        $this->yystack = $stack;
        return true;
    }

    /**
     * Find the appropriate action for a parser given the terminal
     * look-ahead token iLookAhead.
     *
     * If the look-ahead token is YYNOCODE, then check to see if the action is
     * independent of the look-ahead.  If it is, return the action, otherwise
     * return YY_NO_ACTION.
     * @param int The look-ahead token
     */
    function yy_find_shift_action($iLookAhead)
    {
        $stateno = $this->yystack[$this->yyidx]->stateno;
     
        /* if ($this->yyidx < 0) return self::YY_NO_ACTION;  */
        if (!isset(self::$yy_shift_ofst[$stateno])) {
            // no shift actions
            return self::$yy_default[$stateno];
        }
        $i = self::$yy_shift_ofst[$stateno];
        if ($i === self::YY_SHIFT_USE_DFLT) {
            return self::$yy_default[$stateno];
        }
        if ($iLookAhead == self::YYNOCODE) {
            return self::YY_NO_ACTION;
        }
        $i += $iLookAhead;
        if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
              self::$yy_lookahead[$i] != $iLookAhead) {
            if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
                   && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
                if (self::$yyTraceFILE) {
                    fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
                        self::$yyTokenName[$iLookAhead] . " => " .
                        self::$yyTokenName[$iFallback] . "\n");
                }
                return $this->yy_find_shift_action($iFallback);
            }
            return self::$yy_default[$stateno];
        } else {
            return self::$yy_action[$i];
        }
    }

    /**
     * Find the appropriate action for a parser given the non-terminal
     * look-ahead token $iLookAhead.
     *
     * If the look-ahead token is self::YYNOCODE, then check to see if the action is
     * independent of the look-ahead.  If it is, return the action, otherwise
     * return self::YY_NO_ACTION.
     * @param int Current state number
     * @param int The look-ahead token
     */
    function yy_find_reduce_action($stateno, $iLookAhead)
    {
        /* $stateno = $this->yystack[$this->yyidx]->stateno; */

        if (!isset(self::$yy_reduce_ofst[$stateno])) {
            return self::$yy_default[$stateno];
        }
        $i = self::$yy_reduce_ofst[$stateno];
        if ($i == self::YY_REDUCE_USE_DFLT) {
            return self::$yy_default[$stateno];
        }
        if ($iLookAhead == self::YYNOCODE) {
            return self::YY_NO_ACTION;
        }
        $i += $iLookAhead;
        if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
              self::$yy_lookahead[$i] != $iLookAhead) {
            return self::$yy_default[$stateno];
        } else {
            return self::$yy_action[$i];
        }
    }

    /**
     * Perform a shift action.
     * @param int The new state to shift in
     * @param int The major token to shift in
     * @param mixed the minor token to shift in
     */
    function yy_shift($yyNewState, $yyMajor, $yypMinor)
    {
        $this->yyidx++;
        if ($this->yyidx >= self::YYSTACKDEPTH) {
            $this->yyidx--;
            if (self::$yyTraceFILE) {
                fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
            }
            while ($this->yyidx >= 0) {
                $this->yy_pop_parser_stack();
            }
            /* Here code is inserted which will execute if the parser
            ** stack ever overflows */
            return;
        }
        $yytos = new block_formal_langs_parser_cpp_languageyyStackEntry;
        $yytos->stateno = $yyNewState;
        $yytos->major = $yyMajor;
        $yytos->minor = $yypMinor;
        array_push($this->yystack, $yytos);
        if (self::$yyTraceFILE && $this->yyidx > 0) {
            fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
                $yyNewState);
            fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
            for ($i = 1; $i <= $this->yyidx; $i++) {
                fprintf(self::$yyTraceFILE, " %s",
                    self::$yyTokenName[$this->yystack[$i]->major]);
            }
            fwrite(self::$yyTraceFILE,"\n");
        }
    }

    /**
     * The following table contains information about every rule that
     * is used during the reduce.
     *
     * <pre>
     * array(
     *  array(
     *   int $lhs;         Symbol on the left-hand side of the rule
     *   int $nrhs;     Number of right-hand side symbols in the rule
     *  ),...
     * );
     * </pre>
     */
    static public $yyRuleInfo = array(
  array( 'lhs' => 124, 'rhs' => 1 ),
  array( 'lhs' => 124, 'rhs' => 2 ),
  array( 'lhs' => 125, 'rhs' => 2 ),
  array( 'lhs' => 125, 'rhs' => 1 ),
  array( 'lhs' => 128, 'rhs' => 1 ),
  array( 'lhs' => 128, 'rhs' => 2 ),
  array( 'lhs' => 131, 'rhs' => 2 ),
  array( 'lhs' => 133, 'rhs' => 1 ),
  array( 'lhs' => 132, 'rhs' => 2 ),
  array( 'lhs' => 136, 'rhs' => 1 ),
  array( 'lhs' => 132, 'rhs' => 3 ),
  array( 'lhs' => 131, 'rhs' => 1 ),
  array( 'lhs' => 138, 'rhs' => 2 ),
  array( 'lhs' => 137, 'rhs' => 4 ),
  array( 'lhs' => 137, 'rhs' => 5 ),
  array( 'lhs' => 137, 'rhs' => 3 ),
  array( 'lhs' => 137, 'rhs' => 4 ),
  array( 'lhs' => 137, 'rhs' => 2 ),
  array( 'lhs' => 137, 'rhs' => 3 ),
  array( 'lhs' => 141, 'rhs' => 1 ),
  array( 'lhs' => 137, 'rhs' => 4 ),
  array( 'lhs' => 137, 'rhs' => 5 ),
  array( 'lhs' => 137, 'rhs' => 3 ),
  array( 'lhs' => 137, 'rhs' => 4 ),
  array( 'lhs' => 142, 'rhs' => 3 ),
  array( 'lhs' => 142, 'rhs' => 1 ),
  array( 'lhs' => 144, 'rhs' => 1 ),
  array( 'lhs' => 144, 'rhs' => 2 ),
  array( 'lhs' => 144, 'rhs' => 4 ),
  array( 'lhs' => 144, 'rhs' => 4 ),
  array( 'lhs' => 144, 'rhs' => 3 ),
  array( 'lhs' => 144, 'rhs' => 5 ),
  array( 'lhs' => 144, 'rhs' => 5 ),
  array( 'lhs' => 145, 'rhs' => 1 ),
  array( 'lhs' => 145, 'rhs' => 1 ),
  array( 'lhs' => 145, 'rhs' => 1 ),
  array( 'lhs' => 145, 'rhs' => 1 ),
  array( 'lhs' => 145, 'rhs' => 1 ),
  array( 'lhs' => 149, 'rhs' => 3 ),
  array( 'lhs' => 149, 'rhs' => 4 ),
  array( 'lhs' => 139, 'rhs' => 2 ),
  array( 'lhs' => 139, 'rhs' => 1 ),
  array( 'lhs' => 158, 'rhs' => 1 ),
  array( 'lhs' => 158, 'rhs' => 1 ),
  array( 'lhs' => 158, 'rhs' => 1 ),
  array( 'lhs' => 140, 'rhs' => 2 ),
  array( 'lhs' => 140, 'rhs' => 3 ),
  array( 'lhs' => 160, 'rhs' => 1 ),
  array( 'lhs' => 160, 'rhs' => 2 ),
  array( 'lhs' => 161, 'rhs' => 1 ),
  array( 'lhs' => 161, 'rhs' => 1 ),
  array( 'lhs' => 162, 'rhs' => 2 ),
  array( 'lhs' => 162, 'rhs' => 3 ),
  array( 'lhs' => 163, 'rhs' => 1 ),
  array( 'lhs' => 163, 'rhs' => 1 ),
  array( 'lhs' => 163, 'rhs' => 1 ),
  array( 'lhs' => 165, 'rhs' => 1 ),
  array( 'lhs' => 165, 'rhs' => 1 ),
  array( 'lhs' => 171, 'rhs' => 3 ),
  array( 'lhs' => 171, 'rhs' => 2 ),
  array( 'lhs' => 172, 'rhs' => 3 ),
  array( 'lhs' => 172, 'rhs' => 1 ),
  array( 'lhs' => 173, 'rhs' => 1 ),
  array( 'lhs' => 173, 'rhs' => 3 ),
  array( 'lhs' => 175, 'rhs' => 2 ),
  array( 'lhs' => 127, 'rhs' => 2 ),
  array( 'lhs' => 127, 'rhs' => 3 ),
  array( 'lhs' => 127, 'rhs' => 3 ),
  array( 'lhs' => 127, 'rhs' => 4 ),
  array( 'lhs' => 127, 'rhs' => 3 ),
  array( 'lhs' => 127, 'rhs' => 4 ),
  array( 'lhs' => 127, 'rhs' => 4 ),
  array( 'lhs' => 127, 'rhs' => 5 ),
  array( 'lhs' => 127, 'rhs' => 4 ),
  array( 'lhs' => 127, 'rhs' => 5 ),
  array( 'lhs' => 127, 'rhs' => 2 ),
  array( 'lhs' => 127, 'rhs' => 3 ),
  array( 'lhs' => 177, 'rhs' => 3 ),
  array( 'lhs' => 177, 'rhs' => 1 ),
  array( 'lhs' => 181, 'rhs' => 2 ),
  array( 'lhs' => 181, 'rhs' => 1 ),
  array( 'lhs' => 183, 'rhs' => 3 ),
  array( 'lhs' => 183, 'rhs' => 2 ),
  array( 'lhs' => 183, 'rhs' => 1 ),
  array( 'lhs' => 186, 'rhs' => 3 ),
  array( 'lhs' => 127, 'rhs' => 4 ),
  array( 'lhs' => 127, 'rhs' => 3 ),
  array( 'lhs' => 127, 'rhs' => 4 ),
  array( 'lhs' => 191, 'rhs' => 2 ),
  array( 'lhs' => 127, 'rhs' => 4 ),
  array( 'lhs' => 127, 'rhs' => 3 ),
  array( 'lhs' => 194, 'rhs' => 3 ),
  array( 'lhs' => 127, 'rhs' => 4 ),
  array( 'lhs' => 127, 'rhs' => 3 ),
  array( 'lhs' => 180, 'rhs' => 3 ),
  array( 'lhs' => 180, 'rhs' => 2 ),
  array( 'lhs' => 180, 'rhs' => 1 ),
  array( 'lhs' => 180, 'rhs' => 2 ),
  array( 'lhs' => 179, 'rhs' => 1 ),
  array( 'lhs' => 179, 'rhs' => 2 ),
  array( 'lhs' => 188, 'rhs' => 2 ),
  array( 'lhs' => 188, 'rhs' => 3 ),
  array( 'lhs' => 197, 'rhs' => 1 ),
  array( 'lhs' => 197, 'rhs' => 3 ),
  array( 'lhs' => 198, 'rhs' => 1 ),
  array( 'lhs' => 198, 'rhs' => 2 ),
  array( 'lhs' => 198, 'rhs' => 1 ),
  array( 'lhs' => 127, 'rhs' => 3 ),
  array( 'lhs' => 127, 'rhs' => 4 ),
  array( 'lhs' => 201, 'rhs' => 2 ),
  array( 'lhs' => 201, 'rhs' => 1 ),
  array( 'lhs' => 201, 'rhs' => 1 ),
  array( 'lhs' => 202, 'rhs' => 2 ),
  array( 'lhs' => 202, 'rhs' => 1 ),
  array( 'lhs' => 204, 'rhs' => 2 ),
  array( 'lhs' => 203, 'rhs' => 2 ),
  array( 'lhs' => 199, 'rhs' => 2 ),
  array( 'lhs' => 199, 'rhs' => 2 ),
  array( 'lhs' => 199, 'rhs' => 1 ),
  array( 'lhs' => 127, 'rhs' => 1 ),
  array( 'lhs' => 127, 'rhs' => 1 ),
  array( 'lhs' => 131, 'rhs' => 1 ),
  array( 'lhs' => 131, 'rhs' => 5 ),
  array( 'lhs' => 131, 'rhs' => 7 ),
  array( 'lhs' => 131, 'rhs' => 9 ),
  array( 'lhs' => 131, 'rhs' => 3 ),
  array( 'lhs' => 131, 'rhs' => 4 ),
  array( 'lhs' => 131, 'rhs' => 2 ),
  array( 'lhs' => 131, 'rhs' => 3 ),
  array( 'lhs' => 131, 'rhs' => 2 ),
  array( 'lhs' => 131, 'rhs' => 3 ),
  array( 'lhs' => 131, 'rhs' => 3 ),
  array( 'lhs' => 131, 'rhs' => 4 ),
  array( 'lhs' => 131, 'rhs' => 3 ),
  array( 'lhs' => 131, 'rhs' => 4 ),
  array( 'lhs' => 131, 'rhs' => 2 ),
  array( 'lhs' => 131, 'rhs' => 1 ),
  array( 'lhs' => 219, 'rhs' => 2 ),
  array( 'lhs' => 220, 'rhs' => 3 ),
  array( 'lhs' => 220, 'rhs' => 4 ),
  array( 'lhs' => 221, 'rhs' => 2 ),
  array( 'lhs' => 221, 'rhs' => 1 ),
  array( 'lhs' => 223, 'rhs' => 6 ),
  array( 'lhs' => 223, 'rhs' => 7 ),
  array( 'lhs' => 225, 'rhs' => 1 ),
  array( 'lhs' => 225, 'rhs' => 1 ),
  array( 'lhs' => 131, 'rhs' => 1 ),
  array( 'lhs' => 131, 'rhs' => 2 ),
  array( 'lhs' => 131, 'rhs' => 1 ),
  array( 'lhs' => 227, 'rhs' => 6 ),
  array( 'lhs' => 227, 'rhs' => 7 ),
  array( 'lhs' => 229, 'rhs' => 1 ),
  array( 'lhs' => 229, 'rhs' => 2 ),
  array( 'lhs' => 230, 'rhs' => 4 ),
  array( 'lhs' => 230, 'rhs' => 3 ),
  array( 'lhs' => 131, 'rhs' => 1 ),
  array( 'lhs' => 233, 'rhs' => 1 ),
  array( 'lhs' => 233, 'rhs' => 3 ),
  array( 'lhs' => 234, 'rhs' => 5 ),
  array( 'lhs' => 131, 'rhs' => 3 ),
  array( 'lhs' => 131, 'rhs' => 4 ),
  array( 'lhs' => 131, 'rhs' => 5 ),
  array( 'lhs' => 131, 'rhs' => 2 ),
  array( 'lhs' => 131, 'rhs' => 3 ),
  array( 'lhs' => 131, 'rhs' => 2 ),
  array( 'lhs' => 131, 'rhs' => 3 ),
  array( 'lhs' => 214, 'rhs' => 2 ),
  array( 'lhs' => 214, 'rhs' => 4 ),
  array( 'lhs' => 214, 'rhs' => 2 ),
  array( 'lhs' => 214, 'rhs' => 2 ),
  array( 'lhs' => 214, 'rhs' => 1 ),
  array( 'lhs' => 245, 'rhs' => 3 ),
  array( 'lhs' => 245, 'rhs' => 1 ),
  array( 'lhs' => 176, 'rhs' => 1 ),
  array( 'lhs' => 176, 'rhs' => 1 ),
  array( 'lhs' => 246, 'rhs' => 2 ),
  array( 'lhs' => 247, 'rhs' => 1 ),
  array( 'lhs' => 247, 'rhs' => 1 ),
  array( 'lhs' => 247, 'rhs' => 1 ),
  array( 'lhs' => 247, 'rhs' => 1 ),
  array( 'lhs' => 247, 'rhs' => 1 ),
  array( 'lhs' => 212, 'rhs' => 3 ),
  array( 'lhs' => 212, 'rhs' => 3 ),
  array( 'lhs' => 212, 'rhs' => 3 ),
  array( 'lhs' => 212, 'rhs' => 3 ),
  array( 'lhs' => 212, 'rhs' => 3 ),
  array( 'lhs' => 212, 'rhs' => 3 ),
  array( 'lhs' => 212, 'rhs' => 3 ),
  array( 'lhs' => 212, 'rhs' => 3 ),
  array( 'lhs' => 212, 'rhs' => 3 ),
  array( 'lhs' => 212, 'rhs' => 3 ),
  array( 'lhs' => 212, 'rhs' => 3 ),
  array( 'lhs' => 212, 'rhs' => 1 ),
  array( 'lhs' => 253, 'rhs' => 3 ),
  array( 'lhs' => 253, 'rhs' => 1 ),
  array( 'lhs' => 265, 'rhs' => 3 ),
  array( 'lhs' => 265, 'rhs' => 1 ),
  array( 'lhs' => 267, 'rhs' => 3 ),
  array( 'lhs' => 267, 'rhs' => 1 ),
  array( 'lhs' => 269, 'rhs' => 3 ),
  array( 'lhs' => 269, 'rhs' => 1 ),
  array( 'lhs' => 271, 'rhs' => 3 ),
  array( 'lhs' => 271, 'rhs' => 1 ),
  array( 'lhs' => 272, 'rhs' => 3 ),
  array( 'lhs' => 272, 'rhs' => 3 ),
  array( 'lhs' => 272, 'rhs' => 1 ),
  array( 'lhs' => 274, 'rhs' => 3 ),
  array( 'lhs' => 274, 'rhs' => 3 ),
  array( 'lhs' => 274, 'rhs' => 3 ),
  array( 'lhs' => 274, 'rhs' => 3 ),
  array( 'lhs' => 274, 'rhs' => 1 ),
  array( 'lhs' => 148, 'rhs' => 3 ),
  array( 'lhs' => 148, 'rhs' => 3 ),
  array( 'lhs' => 148, 'rhs' => 1 ),
  array( 'lhs' => 279, 'rhs' => 3 ),
  array( 'lhs' => 279, 'rhs' => 3 ),
  array( 'lhs' => 279, 'rhs' => 1 ),
  array( 'lhs' => 282, 'rhs' => 3 ),
  array( 'lhs' => 282, 'rhs' => 3 ),
  array( 'lhs' => 282, 'rhs' => 3 ),
  array( 'lhs' => 282, 'rhs' => 1 ),
  array( 'lhs' => 285, 'rhs' => 3 ),
  array( 'lhs' => 285, 'rhs' => 3 ),
  array( 'lhs' => 285, 'rhs' => 1 ),
  array( 'lhs' => 289, 'rhs' => 2 ),
  array( 'lhs' => 289, 'rhs' => 2 ),
  array( 'lhs' => 289, 'rhs' => 2 ),
  array( 'lhs' => 289, 'rhs' => 2 ),
  array( 'lhs' => 289, 'rhs' => 2 ),
  array( 'lhs' => 289, 'rhs' => 2 ),
  array( 'lhs' => 289, 'rhs' => 2 ),
  array( 'lhs' => 289, 'rhs' => 2 ),
  array( 'lhs' => 289, 'rhs' => 2 ),
  array( 'lhs' => 289, 'rhs' => 1 ),
  array( 'lhs' => 292, 'rhs' => 2 ),
  array( 'lhs' => 292, 'rhs' => 2 ),
  array( 'lhs' => 292, 'rhs' => 4 ),
  array( 'lhs' => 292, 'rhs' => 4 ),
  array( 'lhs' => 292, 'rhs' => 4 ),
  array( 'lhs' => 292, 'rhs' => 3 ),
  array( 'lhs' => 292, 'rhs' => 2 ),
  array( 'lhs' => 292, 'rhs' => 2 ),
  array( 'lhs' => 292, 'rhs' => 1 ),
  array( 'lhs' => 287, 'rhs' => 2 ),
  array( 'lhs' => 288, 'rhs' => 2 ),
  array( 'lhs' => 295, 'rhs' => 4 ),
  array( 'lhs' => 295, 'rhs' => 4 ),
  array( 'lhs' => 295, 'rhs' => 4 ),
  array( 'lhs' => 295, 'rhs' => 4 ),
  array( 'lhs' => 244, 'rhs' => 1 ),
  array( 'lhs' => 244, 'rhs' => 3 ),
  array( 'lhs' => 302, 'rhs' => 1 ),
  array( 'lhs' => 302, 'rhs' => 3 ),
  array( 'lhs' => 302, 'rhs' => 3 ),
  array( 'lhs' => 303, 'rhs' => 2 ),
  array( 'lhs' => 303, 'rhs' => 3 ),
  array( 'lhs' => 304, 'rhs' => 1 ),
  array( 'lhs' => 304, 'rhs' => 1 ),
  array( 'lhs' => 304, 'rhs' => 3 ),
  array( 'lhs' => 304, 'rhs' => 3 ),
  array( 'lhs' => 178, 'rhs' => 1 ),
  array( 'lhs' => 178, 'rhs' => 4 ),
  array( 'lhs' => 178, 'rhs' => 3 ),
  array( 'lhs' => 305, 'rhs' => 2 ),
  array( 'lhs' => 305, 'rhs' => 1 ),
  array( 'lhs' => 306, 'rhs' => 1 ),
  array( 'lhs' => 306, 'rhs' => 4 ),
  array( 'lhs' => 306, 'rhs' => 5 ),
  array( 'lhs' => 306, 'rhs' => 2 ),
  array( 'lhs' => 306, 'rhs' => 3 ),
  array( 'lhs' => 306, 'rhs' => 3 ),
  array( 'lhs' => 174, 'rhs' => 1 ),
  array( 'lhs' => 174, 'rhs' => 1 ),
  array( 'lhs' => 174, 'rhs' => 1 ),
  array( 'lhs' => 174, 'rhs' => 1 ),
  array( 'lhs' => 308, 'rhs' => 1 ),
  array( 'lhs' => 308, 'rhs' => 1 ),
  array( 'lhs' => 311, 'rhs' => 2 ),
  array( 'lhs' => 174, 'rhs' => 3 ),
  array( 'lhs' => 174, 'rhs' => 2 ),
  array( 'lhs' => 174, 'rhs' => 2 ),
  array( 'lhs' => 174, 'rhs' => 3 ),
  array( 'lhs' => 174, 'rhs' => 3 ),
  array( 'lhs' => 174, 'rhs' => 3 ),
  array( 'lhs' => 174, 'rhs' => 3 ),
  array( 'lhs' => 174, 'rhs' => 4 ),
  array( 'lhs' => 174, 'rhs' => 4 ),
  array( 'lhs' => 290, 'rhs' => 3 ),
  array( 'lhs' => 238, 'rhs' => 2 ),
  array( 'lhs' => 238, 'rhs' => 1 ),
  array( 'lhs' => 315, 'rhs' => 1 ),
  array( 'lhs' => 315, 'rhs' => 1 ),
  array( 'lhs' => 315, 'rhs' => 1 ),
  array( 'lhs' => 316, 'rhs' => 3 ),
  array( 'lhs' => 316, 'rhs' => 2 ),
  array( 'lhs' => 192, 'rhs' => 3 ),
  array( 'lhs' => 192, 'rhs' => 3 ),
  array( 'lhs' => 321, 'rhs' => 1 ),
  array( 'lhs' => 319, 'rhs' => 2 ),
  array( 'lhs' => 192, 'rhs' => 2 ),
  array( 'lhs' => 192, 'rhs' => 2 ),
  array( 'lhs' => 192, 'rhs' => 3 ),
  array( 'lhs' => 322, 'rhs' => 2 ),
  array( 'lhs' => 323, 'rhs' => 1 ),
  array( 'lhs' => 317, 'rhs' => 1 ),
  array( 'lhs' => 317, 'rhs' => 2 ),
  array( 'lhs' => 324, 'rhs' => 2 ),
  array( 'lhs' => 325, 'rhs' => 2 ),
  array( 'lhs' => 326, 'rhs' => 1 ),
  array( 'lhs' => 326, 'rhs' => 1 ),
  array( 'lhs' => 327, 'rhs' => 1 ),
  array( 'lhs' => 327, 'rhs' => 1 ),
  array( 'lhs' => 147, 'rhs' => 1 ),
  array( 'lhs' => 147, 'rhs' => 2 ),
  array( 'lhs' => 147, 'rhs' => 3 ),
  array( 'lhs' => 328, 'rhs' => 1 ),
  array( 'lhs' => 328, 'rhs' => 1 ),
  array( 'lhs' => 328, 'rhs' => 3 ),
  array( 'lhs' => 328, 'rhs' => 3 ),
  array( 'lhs' => 329, 'rhs' => 1 ),
  array( 'lhs' => 330, 'rhs' => 1 ),
  array( 'lhs' => 318, 'rhs' => 2 ),
  array( 'lhs' => 318, 'rhs' => 3 ),
  array( 'lhs' => 154, 'rhs' => 1 ),
  array( 'lhs' => 154, 'rhs' => 1 ),
  array( 'lhs' => 154, 'rhs' => 1 ),
  array( 'lhs' => 154, 'rhs' => 2 ),
  array( 'lhs' => 154, 'rhs' => 1 ),
  array( 'lhs' => 154, 'rhs' => 2 ),
  array( 'lhs' => 154, 'rhs' => 2 ),
  array( 'lhs' => 154, 'rhs' => 1 ),
  array( 'lhs' => 154, 'rhs' => 2 ),
  array( 'lhs' => 154, 'rhs' => 2 ),
  array( 'lhs' => 154, 'rhs' => 2 ),
  array( 'lhs' => 154, 'rhs' => 3 ),
  array( 'lhs' => 154, 'rhs' => 3 ),
  array( 'lhs' => 154, 'rhs' => 2 ),
  array( 'lhs' => 154, 'rhs' => 3 ),
  array( 'lhs' => 154, 'rhs' => 3 ),
  array( 'lhs' => 154, 'rhs' => 3 ),
  array( 'lhs' => 154, 'rhs' => 4 ),
  array( 'lhs' => 154, 'rhs' => 4 ),
  array( 'lhs' => 154, 'rhs' => 1 ),
  array( 'lhs' => 154, 'rhs' => 2 ),
  array( 'lhs' => 154, 'rhs' => 2 ),
  array( 'lhs' => 154, 'rhs' => 1 ),
  array( 'lhs' => 154, 'rhs' => 2 ),
  array( 'lhs' => 154, 'rhs' => 2 ),
  array( 'lhs' => 154, 'rhs' => 2 ),
  array( 'lhs' => 154, 'rhs' => 3 ),
  array( 'lhs' => 154, 'rhs' => 3 ),
  array( 'lhs' => 337, 'rhs' => 1 ),
  array( 'lhs' => 337, 'rhs' => 2 ),
  array( 'lhs' => 336, 'rhs' => 1 ),
  array( 'lhs' => 336, 'rhs' => 2 ),
  array( 'lhs' => 334, 'rhs' => 1 ),
  array( 'lhs' => 334, 'rhs' => 2 ),
  array( 'lhs' => 339, 'rhs' => 1 ),
  array( 'lhs' => 339, 'rhs' => 2 ),
  array( 'lhs' => 338, 'rhs' => 1 ),
  array( 'lhs' => 338, 'rhs' => 2 ),
  array( 'lhs' => 335, 'rhs' => 1 ),
  array( 'lhs' => 335, 'rhs' => 2 ),
  array( 'lhs' => 333, 'rhs' => 1 ),
  array( 'lhs' => 333, 'rhs' => 2 ),
  array( 'lhs' => 332, 'rhs' => 1 ),
  array( 'lhs' => 332, 'rhs' => 2 ),
  array( 'lhs' => 331, 'rhs' => 1 ),
  array( 'lhs' => 331, 'rhs' => 2 ),
  array( 'lhs' => 157, 'rhs' => 1 ),
  array( 'lhs' => 157, 'rhs' => 2 ),
  array( 'lhs' => 143, 'rhs' => 1 ),
  array( 'lhs' => 143, 'rhs' => 2 ),
  array( 'lhs' => 156, 'rhs' => 1 ),
  array( 'lhs' => 156, 'rhs' => 2 ),
  array( 'lhs' => 185, 'rhs' => 1 ),
  array( 'lhs' => 185, 'rhs' => 2 ),
  array( 'lhs' => 182, 'rhs' => 1 ),
  array( 'lhs' => 182, 'rhs' => 2 ),
  array( 'lhs' => 184, 'rhs' => 1 ),
  array( 'lhs' => 184, 'rhs' => 2 ),
  array( 'lhs' => 190, 'rhs' => 1 ),
  array( 'lhs' => 190, 'rhs' => 2 ),
  array( 'lhs' => 320, 'rhs' => 1 ),
  array( 'lhs' => 320, 'rhs' => 2 ),
  array( 'lhs' => 195, 'rhs' => 1 ),
  array( 'lhs' => 195, 'rhs' => 2 ),
  array( 'lhs' => 196, 'rhs' => 1 ),
  array( 'lhs' => 196, 'rhs' => 2 ),
  array( 'lhs' => 314, 'rhs' => 1 ),
  array( 'lhs' => 314, 'rhs' => 2 ),
  array( 'lhs' => 130, 'rhs' => 1 ),
  array( 'lhs' => 130, 'rhs' => 2 ),
  array( 'lhs' => 313, 'rhs' => 1 ),
  array( 'lhs' => 313, 'rhs' => 2 ),
  array( 'lhs' => 312, 'rhs' => 1 ),
  array( 'lhs' => 312, 'rhs' => 2 ),
  array( 'lhs' => 310, 'rhs' => 1 ),
  array( 'lhs' => 310, 'rhs' => 2 ),
  array( 'lhs' => 310, 'rhs' => 2 ),
  array( 'lhs' => 310, 'rhs' => 3 ),
  array( 'lhs' => 309, 'rhs' => 1 ),
  array( 'lhs' => 309, 'rhs' => 2 ),
  array( 'lhs' => 307, 'rhs' => 1 ),
  array( 'lhs' => 307, 'rhs' => 2 ),
  array( 'lhs' => 242, 'rhs' => 1 ),
  array( 'lhs' => 242, 'rhs' => 2 ),
  array( 'lhs' => 243, 'rhs' => 1 ),
  array( 'lhs' => 243, 'rhs' => 2 ),
  array( 'lhs' => 134, 'rhs' => 1 ),
  array( 'lhs' => 134, 'rhs' => 2 ),
  array( 'lhs' => 135, 'rhs' => 1 ),
  array( 'lhs' => 135, 'rhs' => 2 ),
  array( 'lhs' => 146, 'rhs' => 1 ),
  array( 'lhs' => 146, 'rhs' => 2 ),
  array( 'lhs' => 301, 'rhs' => 1 ),
  array( 'lhs' => 301, 'rhs' => 2 ),
  array( 'lhs' => 300, 'rhs' => 1 ),
  array( 'lhs' => 300, 'rhs' => 2 ),
  array( 'lhs' => 299, 'rhs' => 1 ),
  array( 'lhs' => 299, 'rhs' => 2 ),
  array( 'lhs' => 298, 'rhs' => 1 ),
  array( 'lhs' => 298, 'rhs' => 2 ),
  array( 'lhs' => 297, 'rhs' => 1 ),
  array( 'lhs' => 297, 'rhs' => 2 ),
  array( 'lhs' => 296, 'rhs' => 1 ),
  array( 'lhs' => 296, 'rhs' => 2 ),
  array( 'lhs' => 293, 'rhs' => 1 ),
  array( 'lhs' => 293, 'rhs' => 2 ),
  array( 'lhs' => 294, 'rhs' => 1 ),
  array( 'lhs' => 294, 'rhs' => 2 ),
  array( 'lhs' => 283, 'rhs' => 1 ),
  array( 'lhs' => 283, 'rhs' => 2 ),
  array( 'lhs' => 281, 'rhs' => 1 ),
  array( 'lhs' => 281, 'rhs' => 2 ),
  array( 'lhs' => 189, 'rhs' => 1 ),
  array( 'lhs' => 189, 'rhs' => 2 ),
  array( 'lhs' => 291, 'rhs' => 1 ),
  array( 'lhs' => 291, 'rhs' => 2 ),
  array( 'lhs' => 286, 'rhs' => 1 ),
  array( 'lhs' => 286, 'rhs' => 2 ),
  array( 'lhs' => 284, 'rhs' => 1 ),
  array( 'lhs' => 284, 'rhs' => 2 ),
  array( 'lhs' => 280, 'rhs' => 1 ),
  array( 'lhs' => 280, 'rhs' => 2 ),
  array( 'lhs' => 278, 'rhs' => 1 ),
  array( 'lhs' => 278, 'rhs' => 2 ),
  array( 'lhs' => 277, 'rhs' => 1 ),
  array( 'lhs' => 277, 'rhs' => 2 ),
  array( 'lhs' => 276, 'rhs' => 1 ),
  array( 'lhs' => 276, 'rhs' => 2 ),
  array( 'lhs' => 275, 'rhs' => 1 ),
  array( 'lhs' => 275, 'rhs' => 2 ),
  array( 'lhs' => 273, 'rhs' => 1 ),
  array( 'lhs' => 273, 'rhs' => 2 ),
  array( 'lhs' => 268, 'rhs' => 1 ),
  array( 'lhs' => 268, 'rhs' => 2 ),
  array( 'lhs' => 270, 'rhs' => 1 ),
  array( 'lhs' => 270, 'rhs' => 2 ),
  array( 'lhs' => 264, 'rhs' => 1 ),
  array( 'lhs' => 264, 'rhs' => 2 ),
  array( 'lhs' => 266, 'rhs' => 1 ),
  array( 'lhs' => 266, 'rhs' => 2 ),
  array( 'lhs' => 263, 'rhs' => 1 ),
  array( 'lhs' => 263, 'rhs' => 2 ),
  array( 'lhs' => 262, 'rhs' => 1 ),
  array( 'lhs' => 262, 'rhs' => 2 ),
  array( 'lhs' => 261, 'rhs' => 1 ),
  array( 'lhs' => 261, 'rhs' => 2 ),
  array( 'lhs' => 260, 'rhs' => 1 ),
  array( 'lhs' => 260, 'rhs' => 2 ),
  array( 'lhs' => 259, 'rhs' => 1 ),
  array( 'lhs' => 259, 'rhs' => 2 ),
  array( 'lhs' => 258, 'rhs' => 1 ),
  array( 'lhs' => 258, 'rhs' => 2 ),
  array( 'lhs' => 257, 'rhs' => 1 ),
  array( 'lhs' => 257, 'rhs' => 2 ),
  array( 'lhs' => 256, 'rhs' => 1 ),
  array( 'lhs' => 256, 'rhs' => 2 ),
  array( 'lhs' => 255, 'rhs' => 1 ),
  array( 'lhs' => 255, 'rhs' => 2 ),
  array( 'lhs' => 254, 'rhs' => 1 ),
  array( 'lhs' => 254, 'rhs' => 2 ),
  array( 'lhs' => 252, 'rhs' => 1 ),
  array( 'lhs' => 252, 'rhs' => 2 ),
  array( 'lhs' => 251, 'rhs' => 1 ),
  array( 'lhs' => 251, 'rhs' => 2 ),
  array( 'lhs' => 250, 'rhs' => 1 ),
  array( 'lhs' => 250, 'rhs' => 2 ),
  array( 'lhs' => 249, 'rhs' => 1 ),
  array( 'lhs' => 249, 'rhs' => 2 ),
  array( 'lhs' => 248, 'rhs' => 1 ),
  array( 'lhs' => 248, 'rhs' => 2 ),
  array( 'lhs' => 241, 'rhs' => 1 ),
  array( 'lhs' => 241, 'rhs' => 2 ),
  array( 'lhs' => 240, 'rhs' => 1 ),
  array( 'lhs' => 240, 'rhs' => 2 ),
  array( 'lhs' => 239, 'rhs' => 1 ),
  array( 'lhs' => 239, 'rhs' => 2 ),
  array( 'lhs' => 237, 'rhs' => 1 ),
  array( 'lhs' => 237, 'rhs' => 2 ),
  array( 'lhs' => 236, 'rhs' => 1 ),
  array( 'lhs' => 236, 'rhs' => 2 ),
  array( 'lhs' => 235, 'rhs' => 1 ),
  array( 'lhs' => 235, 'rhs' => 2 ),
  array( 'lhs' => 232, 'rhs' => 1 ),
  array( 'lhs' => 232, 'rhs' => 2 ),
  array( 'lhs' => 231, 'rhs' => 1 ),
  array( 'lhs' => 231, 'rhs' => 2 ),
  array( 'lhs' => 164, 'rhs' => 1 ),
  array( 'lhs' => 164, 'rhs' => 2 ),
  array( 'lhs' => 228, 'rhs' => 1 ),
  array( 'lhs' => 228, 'rhs' => 2 ),
  array( 'lhs' => 226, 'rhs' => 1 ),
  array( 'lhs' => 226, 'rhs' => 2 ),
  array( 'lhs' => 224, 'rhs' => 1 ),
  array( 'lhs' => 224, 'rhs' => 2 ),
  array( 'lhs' => 222, 'rhs' => 1 ),
  array( 'lhs' => 222, 'rhs' => 2 ),
  array( 'lhs' => 218, 'rhs' => 1 ),
  array( 'lhs' => 218, 'rhs' => 2 ),
  array( 'lhs' => 217, 'rhs' => 1 ),
  array( 'lhs' => 217, 'rhs' => 2 ),
  array( 'lhs' => 216, 'rhs' => 1 ),
  array( 'lhs' => 216, 'rhs' => 2 ),
  array( 'lhs' => 215, 'rhs' => 1 ),
  array( 'lhs' => 215, 'rhs' => 2 ),
  array( 'lhs' => 213, 'rhs' => 1 ),
  array( 'lhs' => 213, 'rhs' => 2 ),
  array( 'lhs' => 211, 'rhs' => 1 ),
  array( 'lhs' => 211, 'rhs' => 2 ),
  array( 'lhs' => 210, 'rhs' => 1 ),
  array( 'lhs' => 210, 'rhs' => 2 ),
  array( 'lhs' => 209, 'rhs' => 1 ),
  array( 'lhs' => 209, 'rhs' => 2 ),
  array( 'lhs' => 208, 'rhs' => 1 ),
  array( 'lhs' => 208, 'rhs' => 2 ),
  array( 'lhs' => 207, 'rhs' => 1 ),
  array( 'lhs' => 207, 'rhs' => 2 ),
  array( 'lhs' => 206, 'rhs' => 1 ),
  array( 'lhs' => 206, 'rhs' => 2 ),
  array( 'lhs' => 205, 'rhs' => 1 ),
  array( 'lhs' => 205, 'rhs' => 2 ),
  array( 'lhs' => 200, 'rhs' => 1 ),
  array( 'lhs' => 200, 'rhs' => 2 ),
  array( 'lhs' => 193, 'rhs' => 1 ),
  array( 'lhs' => 193, 'rhs' => 2 ),
  array( 'lhs' => 187, 'rhs' => 1 ),
  array( 'lhs' => 187, 'rhs' => 2 ),
  array( 'lhs' => 153, 'rhs' => 1 ),
  array( 'lhs' => 153, 'rhs' => 2 ),
  array( 'lhs' => 170, 'rhs' => 1 ),
  array( 'lhs' => 170, 'rhs' => 2 ),
  array( 'lhs' => 169, 'rhs' => 1 ),
  array( 'lhs' => 169, 'rhs' => 2 ),
  array( 'lhs' => 168, 'rhs' => 1 ),
  array( 'lhs' => 168, 'rhs' => 2 ),
  array( 'lhs' => 167, 'rhs' => 1 ),
  array( 'lhs' => 167, 'rhs' => 2 ),
  array( 'lhs' => 166, 'rhs' => 1 ),
  array( 'lhs' => 166, 'rhs' => 2 ),
  array( 'lhs' => 159, 'rhs' => 1 ),
  array( 'lhs' => 159, 'rhs' => 2 ),
  array( 'lhs' => 152, 'rhs' => 1 ),
  array( 'lhs' => 152, 'rhs' => 2 ),
  array( 'lhs' => 151, 'rhs' => 1 ),
  array( 'lhs' => 151, 'rhs' => 2 ),
  array( 'lhs' => 155, 'rhs' => 1 ),
  array( 'lhs' => 155, 'rhs' => 2 ),
  array( 'lhs' => 150, 'rhs' => 1 ),
  array( 'lhs' => 150, 'rhs' => 2 ),
  array( 'lhs' => 129, 'rhs' => 1 ),
  array( 'lhs' => 129, 'rhs' => 2 ),
  array( 'lhs' => 126, 'rhs' => 2 ),
  array( 'lhs' => 126, 'rhs' => 1 ),
    );

    /**
     * The following table contains a mapping of reduce action to method name
     * that handles the reduction.
     * 
     * If a rule is not set, it has no handler.
     */
    static public $yyReduceMap = array(
        0 => 0,
        1 => 1,
        2 => 2,
        3 => 3,
        4 => 4,
        5 => 5,
        6 => 6,
        7 => 7,
        9 => 7,
        8 => 8,
        10 => 10,
        11 => 11,
        25 => 11,
        33 => 11,
        34 => 11,
        35 => 11,
        36 => 11,
        37 => 11,
        41 => 11,
        42 => 11,
        43 => 11,
        44 => 11,
        47 => 11,
        50 => 11,
        53 => 11,
        54 => 11,
        55 => 11,
        56 => 11,
        61 => 11,
        78 => 11,
        80 => 11,
        83 => 11,
        104 => 11,
        106 => 11,
        170 => 11,
        173 => 11,
        174 => 11,
        249 => 11,
        251 => 11,
        256 => 11,
        257 => 11,
        260 => 11,
        264 => 11,
        265 => 11,
        276 => 11,
        290 => 11,
        291 => 11,
        292 => 11,
        304 => 11,
        308 => 11,
        309 => 11,
        310 => 11,
        311 => 11,
        312 => 11,
        315 => 11,
        316 => 11,
        351 => 11,
        353 => 11,
        355 => 11,
        357 => 11,
        359 => 11,
        361 => 11,
        363 => 11,
        365 => 11,
        367 => 11,
        369 => 11,
        371 => 11,
        373 => 11,
        375 => 11,
        377 => 11,
        379 => 11,
        381 => 11,
        383 => 11,
        385 => 11,
        387 => 11,
        389 => 11,
        391 => 11,
        393 => 11,
        395 => 11,
        397 => 11,
        401 => 11,
        403 => 11,
        405 => 11,
        407 => 11,
        409 => 11,
        411 => 11,
        413 => 11,
        415 => 11,
        417 => 11,
        419 => 11,
        421 => 11,
        423 => 11,
        425 => 11,
        427 => 11,
        429 => 11,
        431 => 11,
        433 => 11,
        435 => 11,
        437 => 11,
        439 => 11,
        441 => 11,
        443 => 11,
        445 => 11,
        447 => 11,
        449 => 11,
        451 => 11,
        453 => 11,
        455 => 11,
        457 => 11,
        497 => 11,
        499 => 11,
        501 => 11,
        503 => 11,
        505 => 11,
        507 => 11,
        509 => 11,
        511 => 11,
        513 => 11,
        515 => 11,
        517 => 11,
        519 => 11,
        521 => 11,
        523 => 11,
        525 => 11,
        527 => 11,
        529 => 11,
        531 => 11,
        533 => 11,
        535 => 11,
        537 => 11,
        539 => 11,
        541 => 11,
        543 => 11,
        545 => 11,
        547 => 11,
        549 => 11,
        551 => 11,
        553 => 11,
        555 => 11,
        557 => 11,
        559 => 11,
        561 => 11,
        563 => 11,
        565 => 11,
        567 => 11,
        569 => 11,
        571 => 11,
        574 => 11,
        12 => 12,
        13 => 13,
        20 => 13,
        14 => 14,
        21 => 14,
        15 => 15,
        22 => 15,
        16 => 16,
        23 => 16,
        17 => 17,
        18 => 18,
        19 => 19,
        24 => 24,
        26 => 26,
        27 => 27,
        28 => 28,
        29 => 28,
        30 => 30,
        31 => 31,
        32 => 31,
        38 => 38,
        39 => 39,
        40 => 40,
        45 => 45,
        46 => 46,
        48 => 48,
        49 => 49,
        194 => 49,
        196 => 49,
        198 => 49,
        200 => 49,
        459 => 49,
        461 => 49,
        463 => 49,
        465 => 49,
        467 => 49,
        469 => 49,
        471 => 49,
        473 => 49,
        475 => 49,
        477 => 49,
        479 => 49,
        481 => 49,
        483 => 49,
        485 => 49,
        487 => 49,
        489 => 49,
        491 => 49,
        493 => 49,
        495 => 49,
        51 => 51,
        52 => 52,
        57 => 57,
        289 => 57,
        58 => 58,
        59 => 59,
        60 => 60,
        62 => 62,
        63 => 63,
        64 => 64,
        65 => 65,
        66 => 66,
        67 => 67,
        68 => 68,
        69 => 69,
        70 => 70,
        71 => 71,
        72 => 72,
        73 => 73,
        74 => 74,
        75 => 75,
        76 => 76,
        77 => 77,
        84 => 77,
        79 => 79,
        81 => 81,
        82 => 82,
        85 => 85,
        86 => 86,
        87 => 87,
        88 => 88,
        89 => 89,
        90 => 90,
        91 => 91,
        92 => 92,
        93 => 93,
        94 => 94,
        95 => 95,
        96 => 96,
        97 => 97,
        98 => 98,
        99 => 99,
        100 => 100,
        101 => 101,
        102 => 102,
        103 => 103,
        105 => 105,
        107 => 107,
        108 => 108,
        109 => 109,
        110 => 110,
        111 => 111,
        112 => 112,
        113 => 113,
        114 => 114,
        115 => 115,
        116 => 116,
        117 => 116,
        118 => 118,
        119 => 119,
        120 => 120,
        121 => 121,
        122 => 122,
        123 => 123,
        124 => 124,
        125 => 125,
        126 => 126,
        127 => 127,
        128 => 128,
        129 => 129,
        130 => 130,
        131 => 131,
        133 => 131,
        132 => 132,
        134 => 132,
        135 => 135,
        136 => 136,
        137 => 137,
        138 => 138,
        139 => 139,
        140 => 140,
        141 => 141,
        142 => 142,
        143 => 143,
        144 => 144,
        145 => 145,
        146 => 146,
        147 => 147,
        148 => 148,
        155 => 148,
        149 => 149,
        150 => 150,
        151 => 151,
        152 => 152,
        153 => 153,
        154 => 154,
        156 => 156,
        157 => 157,
        158 => 158,
        159 => 159,
        160 => 160,
        161 => 161,
        162 => 162,
        163 => 163,
        164 => 164,
        165 => 165,
        166 => 166,
        167 => 167,
        168 => 168,
        169 => 169,
        171 => 171,
        172 => 172,
        192 => 172,
        205 => 172,
        210 => 172,
        213 => 172,
        216 => 172,
        220 => 172,
        223 => 172,
        233 => 172,
        175 => 175,
        176 => 176,
        177 => 177,
        178 => 178,
        179 => 179,
        180 => 180,
        181 => 181,
        182 => 182,
        183 => 183,
        184 => 184,
        185 => 185,
        186 => 186,
        187 => 187,
        188 => 188,
        189 => 189,
        190 => 190,
        191 => 191,
        193 => 193,
        195 => 195,
        197 => 197,
        199 => 199,
        201 => 201,
        202 => 202,
        203 => 203,
        204 => 204,
        206 => 206,
        207 => 207,
        208 => 208,
        209 => 209,
        211 => 211,
        212 => 212,
        214 => 214,
        215 => 215,
        217 => 217,
        218 => 218,
        219 => 219,
        221 => 221,
        222 => 221,
        224 => 224,
        225 => 225,
        226 => 226,
        227 => 227,
        228 => 228,
        229 => 229,
        230 => 230,
        231 => 231,
        232 => 232,
        234 => 234,
        235 => 234,
        236 => 236,
        237 => 237,
        238 => 238,
        239 => 239,
        240 => 240,
        241 => 241,
        242 => 242,
        243 => 243,
        244 => 244,
        245 => 245,
        246 => 246,
        247 => 247,
        248 => 248,
        250 => 250,
        252 => 252,
        253 => 252,
        254 => 254,
        255 => 255,
        258 => 258,
        259 => 259,
        261 => 261,
        262 => 262,
        263 => 263,
        266 => 266,
        267 => 267,
        268 => 268,
        269 => 269,
        270 => 269,
        271 => 271,
        273 => 271,
        274 => 271,
        275 => 271,
        272 => 272,
        277 => 277,
        278 => 278,
        279 => 279,
        280 => 279,
        281 => 281,
        282 => 281,
        283 => 281,
        284 => 281,
        285 => 285,
        286 => 286,
        287 => 287,
        288 => 288,
        293 => 293,
        294 => 294,
        295 => 295,
        296 => 296,
        297 => 297,
        298 => 298,
        299 => 299,
        300 => 299,
        301 => 301,
        302 => 302,
        303 => 303,
        305 => 305,
        306 => 306,
        307 => 307,
        313 => 313,
        314 => 314,
        317 => 317,
        318 => 318,
        319 => 319,
        320 => 320,
        321 => 321,
        322 => 322,
        323 => 323,
        324 => 324,
        325 => 325,
        326 => 326,
        327 => 327,
        328 => 328,
        329 => 329,
        330 => 330,
        331 => 331,
        332 => 332,
        333 => 333,
        334 => 334,
        335 => 335,
        336 => 336,
        337 => 337,
        338 => 338,
        339 => 339,
        340 => 340,
        341 => 341,
        342 => 342,
        343 => 343,
        344 => 344,
        345 => 345,
        346 => 346,
        347 => 347,
        348 => 348,
        349 => 349,
        350 => 350,
        352 => 352,
        354 => 354,
        356 => 356,
        358 => 358,
        360 => 360,
        362 => 362,
        364 => 364,
        366 => 366,
        368 => 368,
        370 => 370,
        372 => 372,
        374 => 374,
        376 => 376,
        378 => 378,
        380 => 380,
        382 => 382,
        384 => 384,
        386 => 386,
        388 => 388,
        390 => 390,
        392 => 392,
        394 => 394,
        396 => 396,
        398 => 398,
        399 => 398,
        400 => 400,
        402 => 402,
        404 => 404,
        406 => 406,
        408 => 408,
        410 => 410,
        412 => 412,
        414 => 414,
        416 => 416,
        418 => 418,
        420 => 420,
        422 => 422,
        424 => 424,
        426 => 426,
        428 => 428,
        430 => 428,
        432 => 432,
        434 => 434,
        436 => 436,
        438 => 438,
        440 => 440,
        442 => 442,
        444 => 444,
        446 => 446,
        448 => 448,
        450 => 450,
        452 => 452,
        454 => 454,
        456 => 456,
        458 => 456,
        460 => 460,
        462 => 462,
        464 => 464,
        466 => 466,
        468 => 468,
        470 => 470,
        472 => 472,
        474 => 474,
        476 => 476,
        478 => 478,
        480 => 480,
        482 => 482,
        484 => 484,
        486 => 486,
        488 => 486,
        490 => 486,
        492 => 492,
        494 => 494,
        496 => 494,
        498 => 498,
        500 => 500,
        502 => 502,
        504 => 504,
        506 => 506,
        508 => 508,
        510 => 510,
        512 => 512,
        514 => 514,
        516 => 516,
        518 => 518,
        520 => 520,
        522 => 522,
        524 => 524,
        526 => 526,
        528 => 528,
        530 => 530,
        532 => 532,
        534 => 534,
        536 => 536,
        538 => 538,
        540 => 540,
        542 => 542,
        544 => 544,
        546 => 546,
        548 => 548,
        550 => 550,
        552 => 552,
        554 => 554,
        556 => 556,
        558 => 558,
        560 => 560,
        562 => 562,
        564 => 564,
        566 => 566,
        568 => 568,
        570 => 570,
        572 => 572,
        573 => 573,
    );
    /* Beginning here are the reduction cases.  A typical example
    ** follows:
    **  #line <lineno> <grammarfile>
    **   function yy_r0($yymsp){ ... }           // User supplied code
    **  #line <lineno> <thisfile>
    */
#line 89 "langs_src/parser_cpp_language.y"
    function yy_r0(){
	$stack = array( $this->create_node('program', array( $this->yystack[$this->yyidx + 0]->minor ) ) );
	if (is_array($this->root)) {
            if (count($this->root)) {
                $this->root = array_merge($this->root, $stack);
            }
            else {
                $this->root  = $stack;
            }
    } else {
            $this->root = $stack;
    }
	$this->_retvalue = $stack;
    }
#line 6864 "langs_src/parser_cpp_language.php"
#line 104 "langs_src/parser_cpp_language.y"
    function yy_r1(){
	$stack = array( $this->create_node('program', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ) ) );
	if (is_array($this->root)) {
            if (count($this->root)) {
                $this->root = array_merge($this->root, $stack);
            }
            else {
                $this->root  = $stack;
            }
    } else {
            $this->root = $stack;
    }
	$this->_retvalue = $stack;
    }
#line 6880 "langs_src/parser_cpp_language.php"
#line 120 "langs_src/parser_cpp_language.y"
    function yy_r2(){
	$this->currentrule = new block_formal_langs_description_rule("список выражения %l(stmt_or_defined_macro)", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('stmt_list', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 6886 "langs_src/parser_cpp_language.php"
#line 125 "langs_src/parser_cpp_language.y"
    function yy_r3(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)"));
	$this->_retvalue = $this->create_node('stmt_list', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 6892 "langs_src/parser_cpp_language.php"
#line 130 "langs_src/parser_cpp_language.y"
    function yy_r4(){
	$this->mapper->push_anonymous_type();
	$this->_retvalue = $this->create_node('namespace_definition_start', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 6898 "langs_src/parser_cpp_language.php"
#line 135 "langs_src/parser_cpp_language.y"
    function yy_r5(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово объявления пространства имен", "%s"));
	$this->mapper->introduce_type($this->yystack[$this->yyidx + 0]->minor->value());
	$this->mapper->push_introduced_type($this->yystack[$this->yyidx + 0]->minor->value());
	$this->_retvalue = $this->create_node('namespace_definition_start', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 6906 "langs_src/parser_cpp_language.php"
#line 142 "langs_src/parser_cpp_language.y"
    function yy_r6(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('namespace', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 6912 "langs_src/parser_cpp_language.php"
#line 147 "langs_src/parser_cpp_language.y"
    function yy_r7(){
	$this->mapper->try_pop_introduced_type();
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 6918 "langs_src/parser_cpp_language.php"
#line 152 "langs_src/parser_cpp_language.y"
    function yy_r8(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("левая фигурная скобка", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('namespace_body', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 6924 "langs_src/parser_cpp_language.php"
#line 162 "langs_src/parser_cpp_language.y"
    function yy_r10(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("левая фигурная скобка", "%ur(именительный)", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('namespace_body', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 6930 "langs_src/parser_cpp_language.php"
#line 169 "langs_src/parser_cpp_language.y"
    function yy_r11(){
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 6935 "langs_src/parser_cpp_language.php"
#line 173 "langs_src/parser_cpp_language.y"
    function yy_r12(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s"));
	$this->mapper->introduce_constructable($this->yystack[$this->yyidx + 0]->minor->value());
	$this->mapper->push_introduced_type($this->yystack[$this->yyidx + 0]->minor->value(), $this->mapper->extract_template_parameters($this->yystack[$this->yyidx + -1]->minor));
	$this->_retvalue = $this->create_node('identified_type_meta_specifier_with_template_def', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 6943 "langs_src/parser_cpp_language.php"
#line 180 "langs_src/parser_cpp_language.y"
    function yy_r13(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%s", "точка с запятой"));
	$this->_retvalue = $this->create_node('class_or_union_or_struct', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 6949 "langs_src/parser_cpp_language.php"
#line 185 "langs_src/parser_cpp_language.y"
    function yy_r14(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%s", "точка с запятой"));
	$this->_retvalue = $this->create_node('class_or_union_or_struct', array($this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 6955 "langs_src/parser_cpp_language.php"
#line 190 "langs_src/parser_cpp_language.y"
    function yy_r15(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('class_or_union_or_struct', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 6961 "langs_src/parser_cpp_language.php"
#line 195 "langs_src/parser_cpp_language.y"
    function yy_r16(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('class_or_union_or_struct', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 6967 "langs_src/parser_cpp_language.php"
#line 201 "langs_src/parser_cpp_language.y"
    function yy_r17(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('class_or_union_or_struct', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 6973 "langs_src/parser_cpp_language.php"
#line 206 "langs_src/parser_cpp_language.y"
    function yy_r18(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('class_or_union_or_struct', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 6979 "langs_src/parser_cpp_language.php"
#line 211 "langs_src/parser_cpp_language.y"
    function yy_r19(){
	$this->mapper->push_anonymous_type($this->mapper->extract_template_parameters($this->yystack[$this->yyidx + 0]->minor));
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 6985 "langs_src/parser_cpp_language.php"
#line 241 "langs_src/parser_cpp_language.y"
    function yy_r24(){
	$this->currentrule = new block_formal_langs_description_rule("список параметров шаблона %l(template_spec)", array("%ur(именительный)", "запятая", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('template_spec_list', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 6991 "langs_src/parser_cpp_language.php"
#line 250 "langs_src/parser_cpp_language.y"
    function yy_r26(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s"));
	$this->_retvalue = $this->create_node('template_spec', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 6997 "langs_src/parser_cpp_language.php"
#line 255 "langs_src/parser_cpp_language.y"
    function yy_r27(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s"));
	$this->mapper->introduce_type($this->yystack[$this->yyidx + 0]->minor->value());
	$this->_retvalue = $this->create_node('template_spec', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7004 "langs_src/parser_cpp_language.php"
#line 261 "langs_src/parser_cpp_language.y"
    function yy_r28(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "%s", "%ur(именительный)"));
	$this->mapper->introduce_type($this->yystack[$this->yyidx + -2]->minor->value());
	$this->_retvalue = $this->create_node('template_spec', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7011 "langs_src/parser_cpp_language.php"
#line 273 "langs_src/parser_cpp_language.y"
    function yy_r30(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%ur(именительный)", "%s"));
	$this->mapper->introduce_type($this->yystack[$this->yyidx + 0]->minor->value());
	$this->_retvalue = $this->create_node('template_spec', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7018 "langs_src/parser_cpp_language.php"
#line 279 "langs_src/parser_cpp_language.y"
    function yy_r31(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%ur(именительный)", "%s", "%s", "%ur(именительный)"));
	$this->mapper->introduce_type($this->yystack[$this->yyidx + -2]->minor->value());
	$this->_retvalue = $this->create_node('template_spec', array($this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7025 "langs_src/parser_cpp_language.php"
#line 312 "langs_src/parser_cpp_language.y"
    function yy_r38(){
	$this->currentrule = new block_formal_langs_description_rule("определение шаблона", array("ключевое слово определения шаблона", "начало аргументов шаблона", "конец аргументов шаблона"));
	$this->_retvalue = $this->create_node('template_def', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7031 "langs_src/parser_cpp_language.php"
#line 317 "langs_src/parser_cpp_language.y"
    function yy_r39(){
	$this->currentrule = new block_formal_langs_description_rule("определение шаблона", array("ключевое слово определения шаблона", "начало аргументов шаблона", "%ur(именительный)", "конец аргументов шаблона"));
	$this->_retvalue = $this->create_node('template_def', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7037 "langs_src/parser_cpp_language.php"
#line 323 "langs_src/parser_cpp_language.y"
    function yy_r40(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный) и %2(именительный)", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('type_meta_specifier_with_template_def', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7043 "langs_src/parser_cpp_language.php"
#line 344 "langs_src/parser_cpp_language.y"
    function yy_r45(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("левая фигурная скобка", "правая фигурная скобка"));
	$this->mapper->try_pop_introduced_type();
	$this->_retvalue = $this->create_node('structure_body', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7050 "langs_src/parser_cpp_language.php"
#line 350 "langs_src/parser_cpp_language.y"
    function yy_r46(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("левая фигурная скобка", "%ur(именительный)", "правая фигурная скобка"));
	$this->mapper->try_pop_introduced_type();
	$this->_retvalue = $this->create_node('structure_body', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7057 "langs_src/parser_cpp_language.php"
#line 360 "langs_src/parser_cpp_language.y"
    function yy_r48(){
	$this->currentrule = new block_formal_langs_description_rule("%l(stmt_or_visibility_spec)", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('stmt_or_visibility_spec_list', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7063 "langs_src/parser_cpp_language.php"
#line 367 "langs_src/parser_cpp_language.y"
    function yy_r49(){
	$this->_retvalue  = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 7068 "langs_src/parser_cpp_language.php"
#line 375 "langs_src/parser_cpp_language.y"
    function yy_r51(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "двоеточие"));
	$this->_retvalue = $this->create_node('visibility_spec_full', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7074 "langs_src/parser_cpp_language.php"
#line 380 "langs_src/parser_cpp_language.y"
    function yy_r52(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "двоеточие"));
	$this->_retvalue = $this->create_node('visibility_spec_full', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7080 "langs_src/parser_cpp_language.php"
#line 401 "langs_src/parser_cpp_language.y"
    function yy_r57(){
    $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 7085 "langs_src/parser_cpp_language.php"
#line 408 "langs_src/parser_cpp_language.y"
    function yy_r58(){
	$this->currentrule = new block_formal_langs_description_rule("тело перечисления", array("левая фигурная скобка", "%ur(именительный)", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('enum_body', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7091 "langs_src/parser_cpp_language.php"
#line 413 "langs_src/parser_cpp_language.y"
    function yy_r59(){
	$this->currentrule = new block_formal_langs_description_rule("тело перечисления", array("левая фигурная скобка", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('enum_body', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7097 "langs_src/parser_cpp_language.php"
#line 418 "langs_src/parser_cpp_language.y"
    function yy_r60(){
	$this->currentrule = new block_formal_langs_description_rule("список значений перечисления %l(enum_value)", array("%ur(именительный)", "запятая", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('enum_value_list', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7103 "langs_src/parser_cpp_language.php"
#line 427 "langs_src/parser_cpp_language.y"
    function yy_r62(){
	$this->currentrule = new block_formal_langs_description_rule("%ur(именительный)", array("%s"));
	$this->_retvalue = $this->create_node('enum_value', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7109 "langs_src/parser_cpp_language.php"
#line 432 "langs_src/parser_cpp_language.y"
    function yy_r63(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "операция присвоения", "%s"));
	$this->_retvalue = $this->create_node('enum_value', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7115 "langs_src/parser_cpp_language.php"
#line 438 "langs_src/parser_cpp_language.y"
    function yy_r64(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->mapper->introduce_type($this->yystack[$this->yyidx + 0]->minor->value());
	$this->_retvalue = $this->create_node('enum_definition_start', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7122 "langs_src/parser_cpp_language.php"
#line 444 "langs_src/parser_cpp_language.y"
    function yy_r65(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('enum_definition', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7128 "langs_src/parser_cpp_language.php"
#line 449 "langs_src/parser_cpp_language.y"
    function yy_r66(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('enum_definition', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7134 "langs_src/parser_cpp_language.php"
#line 454 "langs_src/parser_cpp_language.y"
    function yy_r67(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('enum_definition', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7140 "langs_src/parser_cpp_language.php"
#line 459 "langs_src/parser_cpp_language.y"
    function yy_r68(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('enum_definition', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7146 "langs_src/parser_cpp_language.php"
#line 464 "langs_src/parser_cpp_language.y"
    function yy_r69(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово перечисления", "%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('enum_definition', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7152 "langs_src/parser_cpp_language.php"
#line 469 "langs_src/parser_cpp_language.y"
    function yy_r70(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово перечисления", "%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('enum_definition', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7158 "langs_src/parser_cpp_language.php"
#line 474 "langs_src/parser_cpp_language.y"
    function yy_r71(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%s", "точка с запятой"));
	$this->_retvalue = $this->create_node('enum_definition', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7164 "langs_src/parser_cpp_language.php"
#line 479 "langs_src/parser_cpp_language.y"
    function yy_r72(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%s", "точка с запятой"));
	$this->_retvalue = $this->create_node('enum_definition', array($this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7170 "langs_src/parser_cpp_language.php"
#line 484 "langs_src/parser_cpp_language.y"
    function yy_r73(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово перечисления", "%ur(именительный)", "%s", "точка с запятой"));
	$this->_retvalue = $this->create_node('enum_definition', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7176 "langs_src/parser_cpp_language.php"
#line 489 "langs_src/parser_cpp_language.y"
    function yy_r74(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово перечисления", "%ur(именительный)", "%s", "точка с запятой"));
	$this->_retvalue = $this->create_node('enum_definition', array($this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7182 "langs_src/parser_cpp_language.php"
#line 496 "langs_src/parser_cpp_language.y"
    function yy_r75(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('stmt_or_defined_macro', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7188 "langs_src/parser_cpp_language.php"
#line 501 "langs_src/parser_cpp_language.y"
    function yy_r76(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('stmt_or_defined_macro', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7194 "langs_src/parser_cpp_language.php"
#line 506 "langs_src/parser_cpp_language.y"
    function yy_r77(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('function_definition_without_type', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7200 "langs_src/parser_cpp_language.php"
#line 515 "langs_src/parser_cpp_language.y"
    function yy_r79(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('operator_overload_declaration', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7206 "langs_src/parser_cpp_language.php"
#line 524 "langs_src/parser_cpp_language.y"
    function yy_r81(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('operator_overload_declaration', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7212 "langs_src/parser_cpp_language.php"
#line 529 "langs_src/parser_cpp_language.y"
    function yy_r82(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('operator_overload_declaration', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7218 "langs_src/parser_cpp_language.php"
#line 546 "langs_src/parser_cpp_language.y"
    function yy_r85(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('constructor', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7224 "langs_src/parser_cpp_language.php"
#line 552 "langs_src/parser_cpp_language.y"
    function yy_r86(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('constructor', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7230 "langs_src/parser_cpp_language.php"
#line 558 "langs_src/parser_cpp_language.y"
    function yy_r87(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s", "%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('destructor', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7236 "langs_src/parser_cpp_language.php"
#line 566 "langs_src/parser_cpp_language.y"
    function yy_r88(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s"));
	$this->mapper->clear_lookup_namespace();
	$this->_retvalue = $this->create_node('outer_constructor_name', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7243 "langs_src/parser_cpp_language.php"
#line 572 "langs_src/parser_cpp_language.y"
    function yy_r89(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%ur(именительный)", "%ur(именительный)"));
	$this->mapper->clear_lookup_namespace();
	$this->_retvalue = $this->create_node('constructor', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor, E));
    }
#line 7250 "langs_src/parser_cpp_language.php"
#line 579 "langs_src/parser_cpp_language.y"
    function yy_r90(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%ur(именительный)"));
	$this->mapper->clear_lookup_namespace();
	$this->_retvalue = $this->create_node('constructor', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7257 "langs_src/parser_cpp_language.php"
#line 585 "langs_src/parser_cpp_language.y"
    function yy_r91(){
	$this->mapper->clear_lookup_namespace();
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "%s"));
	$this->_retvalue = $this->create_node('outer_destructor_name', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7264 "langs_src/parser_cpp_language.php"
#line 592 "langs_src/parser_cpp_language.y"
    function yy_r92(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('constructor', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7270 "langs_src/parser_cpp_language.php"
#line 598 "langs_src/parser_cpp_language.y"
    function yy_r93(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('constructor', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7276 "langs_src/parser_cpp_language.php"
#line 603 "langs_src/parser_cpp_language.y"
    function yy_r94(){
	$this->currentrule = new block_formal_langs_description_rule("тело функции", array("левая фигурная скобка", "%ur(именительный)", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('function_body', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7282 "langs_src/parser_cpp_language.php"
#line 608 "langs_src/parser_cpp_language.y"
    function yy_r95(){
	$this->currentrule = new block_formal_langs_description_rule("тело функции", array("левая фигурная скобка", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('function_body', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7288 "langs_src/parser_cpp_language.php"
#line 613 "langs_src/parser_cpp_language.y"
    function yy_r96(){
    $this->currentrule = new block_formal_langs_description_rule("тело функции", array("точка с запятой"));
	$this->_retvalue = $this->create_node('function_body', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7294 "langs_src/parser_cpp_language.php"
#line 618 "langs_src/parser_cpp_language.y"
    function yy_r97(){
    $this->currentrule = new block_formal_langs_description_rule("тело функции", array("точка с запятой"));
	$this->_retvalue = $this->create_node('function_body', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7300 "langs_src/parser_cpp_language.php"
#line 626 "langs_src/parser_cpp_language.y"
    function yy_r98(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)"));
	$this->_retvalue = $this->create_node('formal_args_list_with_or_without_const', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7306 "langs_src/parser_cpp_language.php"
#line 631 "langs_src/parser_cpp_language.y"
    function yy_r99(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)", "ключевое слово константности"));
	$this->_retvalue = $this->create_node('formal_args_list_with_or_without_const', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7312 "langs_src/parser_cpp_language.php"
#line 636 "langs_src/parser_cpp_language.y"
    function yy_r100(){
	$this->currentrule = new block_formal_langs_description_rule("список формальных аргументов", array("левая круглая скобка", "правая круглая скобка"));
	$this->_retvalue = $this->create_node('args_list', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7318 "langs_src/parser_cpp_language.php"
#line 641 "langs_src/parser_cpp_language.y"
    function yy_r101(){
	$this->currentrule = new block_formal_langs_description_rule("список формальных аргументов", array("левая круглая скобка", "%ur(именительный)", "правая круглая скобка"));
	$this->_retvalue = $this->create_node('formal_args_list', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7324 "langs_src/parser_cpp_language.php"
#line 646 "langs_src/parser_cpp_language.y"
    function yy_r102(){
	$this->currentrule = new block_formal_langs_description_rule("список аргументов", array("%ur(именительный)"));
	$this->_retvalue = $this->create_node('arg_list', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7330 "langs_src/parser_cpp_language.php"
#line 651 "langs_src/parser_cpp_language.y"
    function yy_r103(){
	$this->currentrule = new block_formal_langs_description_rule("список аргументов %l(arg)", array("%ur(именительный)", "запятая", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('arg_list', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7336 "langs_src/parser_cpp_language.php"
#line 660 "langs_src/parser_cpp_language.y"
    function yy_r105(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s"));
	$this->_retvalue = $this->create_node('arg', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7342 "langs_src/parser_cpp_language.php"
#line 672 "langs_src/parser_cpp_language.y"
    function yy_r107(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "ключевое слово конца условного блока препроцессора"));
	$this->_retvalue = $this->create_node('stmt_or_defined_macro', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7348 "langs_src/parser_cpp_language.php"
#line 677 "langs_src/parser_cpp_language.y"
    function yy_r108(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%ur(именительный)", "ключевое слово конца условного блока препроцессора"));
	$this->_retvalue = $this->create_node('stmt_or_defined_macro', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7354 "langs_src/parser_cpp_language.php"
#line 682 "langs_src/parser_cpp_language.y"
    function yy_r109(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('preprocessor_else_clauses', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7360 "langs_src/parser_cpp_language.php"
#line 687 "langs_src/parser_cpp_language.y"
    function yy_r110(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)"));
	$this->_retvalue = $this->create_node('preprocessor_else_clauses', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7366 "langs_src/parser_cpp_language.php"
#line 692 "langs_src/parser_cpp_language.y"
    function yy_r111(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)"));
	$this->_retvalue = $this->create_node('preprocessor_else_clauses', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7372 "langs_src/parser_cpp_language.php"
#line 697 "langs_src/parser_cpp_language.y"
    function yy_r112(){
	$this->currentrule = new block_formal_langs_description_rule("список условий  препроцессора %l(preprocessor_elif)", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('preprocessor_elif_list', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7378 "langs_src/parser_cpp_language.php"
#line 702 "langs_src/parser_cpp_language.y"
    function yy_r113(){
	$this->currentrule = new block_formal_langs_description_rule("список условий препроцессора", array("%1(именительный)"));
	$this->_retvalue = $this->create_node('preprocessor_elif_list', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7384 "langs_src/parser_cpp_language.php"
#line 707 "langs_src/parser_cpp_language.y"
    function yy_r114(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое-слово \"если-то\" препроцессора", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('preprocessor_elif', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7390 "langs_src/parser_cpp_language.php"
#line 712 "langs_src/parser_cpp_language.y"
    function yy_r115(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое-слово \"если\" препроцессора", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('preprocessor_else', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7396 "langs_src/parser_cpp_language.php"
#line 717 "langs_src/parser_cpp_language.y"
    function yy_r116(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("условная директива препроцессора с условием что макроопределение определено", "%s"));
	$this->_retvalue = $this->create_node('preprocessor_cond', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor, C));
    }
#line 7402 "langs_src/parser_cpp_language.php"
#line 727 "langs_src/parser_cpp_language.y"
    function yy_r118(){
    $this->currentrule = new block_formal_langs_description_rule("%s", array("условная директива препроцессора вида \"если\""));
	$this->_retvalue = $this->create_node('preprocessor_cond', array($this->yystack[$this->yyidx + 0]->minor, B));
    }
#line 7408 "langs_src/parser_cpp_language.php"
#line 732 "langs_src/parser_cpp_language.y"
    function yy_r119(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%s"));
	$this->_retvalue = $this->create_node('stmt_or_defined_macro', array($this->yystack[$this->yyidx + 0]->minor, B));
    }
#line 7414 "langs_src/parser_cpp_language.php"
#line 737 "langs_src/parser_cpp_language.y"
    function yy_r120(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)"));
	$this->_retvalue = $this->create_node('stmt_or_defined_macro', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7420 "langs_src/parser_cpp_language.php"
#line 742 "langs_src/parser_cpp_language.y"
    function yy_r121(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%s"));
	$this->_retvalue = $this->create_node('stmt', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7426 "langs_src/parser_cpp_language.php"
#line 754 "langs_src/parser_cpp_language.y"
    function yy_r122(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово объявления цикла с предусловием", "левая круглая скобка", "%ur(именительный)", "правая круглая скобка", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('while', array($this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7432 "langs_src/parser_cpp_language.php"
#line 766 "langs_src/parser_cpp_language.y"
    function yy_r123(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово  объявления цикла с постусловием", "%ur(именительный)", "ключевое слово начала условия в цикле с постусловием", "левая круглая скобка", "%ur(именительный)", "правая круглая скобка", "точка с запятой"));
	$this->_retvalue = $this->create_node('do_while', array($this->yystack[$this->yyidx + -6]->minor, $this->yystack[$this->yyidx + -5]->minor, $this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7438 "langs_src/parser_cpp_language.php"
#line 779 "langs_src/parser_cpp_language.y"
    function yy_r124(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово объявления цикла со счетчиком", "левая круглая скобка", "%ur(именительный)", "точка с запятой", "%ur(именительный)", "точка с запятой", "%ur(именительный)", "правая круглая скобка", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('for', array($this->yystack[$this->yyidx + -8]->minor, $this->yystack[$this->yyidx + -7]->minor, $this->yystack[$this->yyidx + -6]->minor, $this->yystack[$this->yyidx + -5]->minor, $this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7444 "langs_src/parser_cpp_language.php"
#line 787 "langs_src/parser_cpp_language.y"
    function yy_r125(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово возврата результата", "%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('stmt', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7450 "langs_src/parser_cpp_language.php"
#line 792 "langs_src/parser_cpp_language.y"
    function yy_r126(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово возврата результата", "%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('stmt', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7456 "langs_src/parser_cpp_language.php"
#line 798 "langs_src/parser_cpp_language.y"
    function yy_r127(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово возврата результата", "точка с запятой"));
	$this->_retvalue = $this->create_node('stmt', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7462 "langs_src/parser_cpp_language.php"
#line 803 "langs_src/parser_cpp_language.y"
    function yy_r128(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово возврата результата", "точка с запятой"));
	$this->_retvalue = $this->create_node('stmt', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7468 "langs_src/parser_cpp_language.php"
#line 811 "langs_src/parser_cpp_language.y"
    function yy_r129(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово пропуска итерации цикла", "точка с запятой"));
	$this->_retvalue = $this->create_node('continue', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7474 "langs_src/parser_cpp_language.php"
#line 816 "langs_src/parser_cpp_language.y"
    function yy_r130(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово пропуска итерации цикла", "точка с запятой"));
	$this->_retvalue = $this->create_node('continue', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7480 "langs_src/parser_cpp_language.php"
#line 823 "langs_src/parser_cpp_language.y"
    function yy_r131(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово безусловного перехода", "имя метки перехода для  операции %ul(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('goto', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7486 "langs_src/parser_cpp_language.php"
#line 828 "langs_src/parser_cpp_language.y"
    function yy_r132(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово безусловного перехода", "имя метки перехода для  операции %ul(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('goto', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7492 "langs_src/parser_cpp_language.php"
#line 843 "langs_src/parser_cpp_language.y"
    function yy_r135(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("имя метки", "двоеточие"));
	$this->_retvalue = $this->create_node('goto_label', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7498 "langs_src/parser_cpp_language.php"
#line 850 "langs_src/parser_cpp_language.y"
    function yy_r136(){
    $this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)"));
    $this->_retvalue = $this->create_node('stmt', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7504 "langs_src/parser_cpp_language.php"
#line 855 "langs_src/parser_cpp_language.y"
    function yy_r137(){
    $this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('try_catch', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7510 "langs_src/parser_cpp_language.php"
#line 860 "langs_src/parser_cpp_language.y"
    function yy_r138(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово начала небезопасного блока", "левая фигурная скобка", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('try', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7516 "langs_src/parser_cpp_language.php"
#line 865 "langs_src/parser_cpp_language.y"
    function yy_r139(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово начала небезопасного блока", "левая фигурная скобка", "%ur(именительный)", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('try', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7522 "langs_src/parser_cpp_language.php"
#line 870 "langs_src/parser_cpp_language.y"
    function yy_r140(){
	$this->currentrule = new block_formal_langs_description_rule("список веток обработки исключения %l(catch)", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('catch_list', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7528 "langs_src/parser_cpp_language.php"
#line 875 "langs_src/parser_cpp_language.y"
    function yy_r141(){
	$this->currentrule = new block_formal_langs_description_rule("список веток обработки исключения", array("%ur(именительный)"));
	$this->_retvalue = $this->create_node('catch_list', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7534 "langs_src/parser_cpp_language.php"
#line 880 "langs_src/parser_cpp_language.y"
    function yy_r142(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово ветки исключения", "левая круглая скобка", "%ur(именительный)", "правая круглая скобка", "левая фигурная скобка", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('catch', array($this->yystack[$this->yyidx + -5]->minor, $this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7540 "langs_src/parser_cpp_language.php"
#line 885 "langs_src/parser_cpp_language.y"
    function yy_r143(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово ветки исключения", "левая круглая скобка", "%ur(именительный)", "правая круглая скобка", "левая фигурная скобка", "%ur(именительный)", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('catch', array($this->yystack[$this->yyidx + -6]->minor, $this->yystack[$this->yyidx + -5]->minor, $this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7546 "langs_src/parser_cpp_language.php"
#line 890 "langs_src/parser_cpp_language.y"
    function yy_r144(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_prec_11_or_ellipsis', array( $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7552 "langs_src/parser_cpp_language.php"
#line 895 "langs_src/parser_cpp_language.y"
    function yy_r145(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("эллипсис"));
	$this->_retvalue = $this->create_node('expr_prec_11_or_ellipsis', array( $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7558 "langs_src/parser_cpp_language.php"
#line 902 "langs_src/parser_cpp_language.y"
    function yy_r146(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("точка с запятой"));
	$this->_retvalue = $this->create_node('stmt', array( $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7564 "langs_src/parser_cpp_language.php"
#line 907 "langs_src/parser_cpp_language.y"
    function yy_r147(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("точка с запятой"));
	$this->_retvalue = $this->create_node('stmt', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7570 "langs_src/parser_cpp_language.php"
#line 914 "langs_src/parser_cpp_language.y"
    function yy_r148(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)"));
	$this->_retvalue = $this->create_node('stmt', array( $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7576 "langs_src/parser_cpp_language.php"
#line 919 "langs_src/parser_cpp_language.y"
    function yy_r149(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово ветвления", "левая круглая скобка", "%ur(именительный)", "правая круглая скобка", "левая фигурная скобка", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('switch_stmt', array($this->yystack[$this->yyidx + -5]->minor, $this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7582 "langs_src/parser_cpp_language.php"
#line 924 "langs_src/parser_cpp_language.y"
    function yy_r150(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово ветвления", "левая круглая скобка", "%ur(именительный)", "правая круглая скобка", "левая фигурная скобка", "%ur(именительный)", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('switch_stmt', array($this->yystack[$this->yyidx + -6]->minor, $this->yystack[$this->yyidx + -5]->minor, $this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7588 "langs_src/parser_cpp_language.php"
#line 929 "langs_src/parser_cpp_language.y"
    function yy_r151(){
	$this->currentrule = new block_formal_langs_description_rule("список ветвлений", array("%ur(именительный)"));
	$this->_retvalue = $this->create_node('switch_case_list', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7594 "langs_src/parser_cpp_language.php"
#line 934 "langs_src/parser_cpp_language.y"
    function yy_r152(){
	$this->currentrule = new block_formal_langs_description_rule("список ветвлений %l(case)", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('switch_case_list', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7600 "langs_src/parser_cpp_language.php"
#line 939 "langs_src/parser_cpp_language.y"
    function yy_r153(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово, обозначающее ветку ветвления", "%ur(именительный)", "двоеточие", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('case', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7606 "langs_src/parser_cpp_language.php"
#line 944 "langs_src/parser_cpp_language.y"
    function yy_r154(){
	$this->currentrule = new block_formal_langs_description_rule("ветка по умолчанию", array("ключевое слово, обозначающее ветку ветвления по умолчанию", "двоеточие", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('case', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7612 "langs_src/parser_cpp_language.php"
#line 956 "langs_src/parser_cpp_language.y"
    function yy_r156(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)"));
	$this->_retvalue = $this->create_node('if_then_else', array($this->yystack[$this->yyidx + 0]->minor));
    }
#line 7618 "langs_src/parser_cpp_language.php"
#line 961 "langs_src/parser_cpp_language.y"
    function yy_r157(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "ключевое слово \"иначе\"", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('if_then_else', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7624 "langs_src/parser_cpp_language.php"
#line 966 "langs_src/parser_cpp_language.y"
    function yy_r158(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("ключевое слово \"если\"", "левая круглая скобка", "%ur(именительный)", "правая круглая скобка", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('if_then', array($this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7630 "langs_src/parser_cpp_language.php"
#line 973 "langs_src/parser_cpp_language.y"
    function yy_r159(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("левая фигурная скобка", "%s", "правая фигурная скобка"));
	$this->_retvalue = $this->create_node('stmt', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7636 "langs_src/parser_cpp_language.php"
#line 978 "langs_src/parser_cpp_language.y"
    function yy_r160(){ 
	$this->currentrule = new block_formal_langs_description_rule("объявление синонима типа", array("ключевое слово объявления синонима типа", "%s", "%s", "точка с запятой"));
	$this->_retvalue = $this->create_node('typedef_declaration', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
	$this->mapper->perform_typedef_action($this->yystack[$this->yyidx + -1]->minor);
    }
#line 7643 "langs_src/parser_cpp_language.php"
#line 984 "langs_src/parser_cpp_language.y"
    function yy_r161(){ 
	$this->currentrule = new block_formal_langs_description_rule("объявление синонима типа", array("ключевое слово объявления синонима типа", "%s", "%s", "точка с запятой"));
	$this->_retvalue = $this->create_node('typedef_declaration', array($this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
	$this->mapper->perform_typedef_action($this->yystack[$this->yyidx + -2]->minor);
    }
#line 7650 "langs_src/parser_cpp_language.php"
#line 991 "langs_src/parser_cpp_language.y"
    function yy_r162(){
	$this->currentrule = new block_formal_langs_description_rule("прерывание работы", array("ключевое слово прерывания работы", "точка с запятой"));
	$this->_retvalue = $this->create_node('stmt', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7656 "langs_src/parser_cpp_language.php"
#line 996 "langs_src/parser_cpp_language.y"
    function yy_r163(){
	$this->currentrule = new block_formal_langs_description_rule("прерывание работы", array("ключевое слово прерывания работы", "точка с запятой"));
	$this->_retvalue = $this->create_node('stmt', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7662 "langs_src/parser_cpp_language.php"
#line 1001 "langs_src/parser_cpp_language.y"
    function yy_r164(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('stmt', array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7668 "langs_src/parser_cpp_language.php"
#line 1006 "langs_src/parser_cpp_language.y"
    function yy_r165(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)", "точка с запятой"));
	$this->_retvalue = $this->create_node('stmt', array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7674 "langs_src/parser_cpp_language.php"
#line 1013 "langs_src/parser_cpp_language.y"
    function yy_r166(){
	$this->currentrule = new block_formal_langs_description_rule("выделение памяти", array("ключевое слово выделения памяти", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('new_kwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7680 "langs_src/parser_cpp_language.php"
#line 1018 "langs_src/parser_cpp_language.y"
    function yy_r167(){
	$this->currentrule = new block_formal_langs_description_rule("освобождение памяти", array("ключевое слово освобождения памяти", "левая квадратная скобка", "правая квадратная скобка", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('delete_array', array( $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7686 "langs_src/parser_cpp_language.php"
#line 1023 "langs_src/parser_cpp_language.y"
    function yy_r168(){
	$this->currentrule = new block_formal_langs_description_rule("освобождение памяти", array("ключевое слово освобождения памяти", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('delete_pointer', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7692 "langs_src/parser_cpp_language.php"
#line 1029 "langs_src/parser_cpp_language.y"
    function yy_r169(){
	$this->currentrule = new block_formal_langs_description_rule("объявление переменных", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('variable_declaration', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7698 "langs_src/parser_cpp_language.php"
#line 1040 "langs_src/parser_cpp_language.y"
    function yy_r171(){
	$this->currentrule = new block_formal_langs_description_rule("список выражений %l(expr_prec_10)", array("%ur(именительный)", "запятая", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_list', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7704 "langs_src/parser_cpp_language.php"
#line 1045 "langs_src/parser_cpp_language.y"
    function yy_r172(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)"));
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 7710 "langs_src/parser_cpp_language.php"
#line 1060 "langs_src/parser_cpp_language.y"
    function yy_r175(){
	$this->currentrule = new block_formal_langs_description_rule("тип с квалифицирующим словом", array("%ur(именительный)", "%ur(именительный)"));
	$result = $this->create_node('type_with_qualifier', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
	$this->_retvalue = $result;
    }
#line 7717 "langs_src/parser_cpp_language.php"
#line 1066 "langs_src/parser_cpp_language.y"
    function yy_r176(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("ключевое слово для статичности значения"));
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 7723 "langs_src/parser_cpp_language.php"
#line 1071 "langs_src/parser_cpp_language.y"
    function yy_r177(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("ключевое слово импорта из внешней части"));
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 7729 "langs_src/parser_cpp_language.php"
#line 1076 "langs_src/parser_cpp_language.y"
    function yy_r178(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("ключевое слово, указания, что переменная должна содержаться в регистре процессора"));
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 7735 "langs_src/parser_cpp_language.php"
#line 1081 "langs_src/parser_cpp_language.y"
    function yy_r179(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("ключевое слово изменяемости"));
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 7741 "langs_src/parser_cpp_language.php"
#line 1086 "langs_src/parser_cpp_language.y"
    function yy_r180(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("ключевое слово дружественности"));
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 7747 "langs_src/parser_cpp_language.php"
#line 1093 "langs_src/parser_cpp_language.y"
    function yy_r181(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"присваивание с побитовым исключающим ИЛИ\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция побитового исключающего ИЛИ с присваиванием", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_binaryxor_assign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7753 "langs_src/parser_cpp_language.php"
#line 1098 "langs_src/parser_cpp_language.y"
    function yy_r182(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"присваивание с побитовым ИЛИ\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция побитового ИЛИ  с присваиванием", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_binaryor_assign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7759 "langs_src/parser_cpp_language.php"
#line 1103 "langs_src/parser_cpp_language.y"
    function yy_r183(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"присваивание с побитовым И\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция побитового И  с присваиванием", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_binaryand_assign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7765 "langs_src/parser_cpp_language.php"
#line 1108 "langs_src/parser_cpp_language.y"
    function yy_r184(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"присваивание со сдвигом вправо\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция присваивания со сдвигом вправо", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_rightshift_assign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7771 "langs_src/parser_cpp_language.php"
#line 1113 "langs_src/parser_cpp_language.y"
    function yy_r185(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"присваивание со сдвигом влево\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция присваивания со сдвигом влево", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_leftshift_assign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7777 "langs_src/parser_cpp_language.php"
#line 1118 "langs_src/parser_cpp_language.y"
    function yy_r186(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"присваивание с получением остатка от деления\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция присваивания с получением остатка от модуля", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_modulo_assign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7783 "langs_src/parser_cpp_language.php"
#line 1123 "langs_src/parser_cpp_language.y"
    function yy_r187(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"присваивание с делением\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция присваивания с делением", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_division_assign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7789 "langs_src/parser_cpp_language.php"
#line 1128 "langs_src/parser_cpp_language.y"
    function yy_r188(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"присваивание с умножением\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция присваивания с умножением", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_multiply_assign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7795 "langs_src/parser_cpp_language.php"
#line 1133 "langs_src/parser_cpp_language.y"
    function yy_r189(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"присваивание с суммированием\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция присваивания с суммированием", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_plus_assign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7801 "langs_src/parser_cpp_language.php"
#line 1138 "langs_src/parser_cpp_language.y"
    function yy_r190(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"присваивание с вычитанием\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция присваивания с вычитанием", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_minus_assign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7807 "langs_src/parser_cpp_language.php"
#line 1143 "langs_src/parser_cpp_language.y"
    function yy_r191(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"присваивание\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция присваивания", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_assign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7813 "langs_src/parser_cpp_language.php"
#line 1155 "langs_src/parser_cpp_language.y"
    function yy_r193(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"логического ИЛИ\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция логического ИЛИ", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_logical_or', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7819 "langs_src/parser_cpp_language.php"
#line 1164 "langs_src/parser_cpp_language.y"
    function yy_r195(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"логического И\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция логического И", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_logical_and', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7825 "langs_src/parser_cpp_language.php"
#line 1173 "langs_src/parser_cpp_language.y"
    function yy_r197(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"побитового ИЛИ\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция логического ИЛИ", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_binary_or', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7831 "langs_src/parser_cpp_language.php"
#line 1182 "langs_src/parser_cpp_language.y"
    function yy_r199(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"исключающего ИЛИ\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция исключающего ИЛИ", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_binary_xor', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7837 "langs_src/parser_cpp_language.php"
#line 1191 "langs_src/parser_cpp_language.y"
    function yy_r201(){
	// Well, that's what you get when you mix binary and and adress taking
	$this->currentrule = new block_formal_langs_description_rule("операция \"побитового И\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция побитового И", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_binary_and', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7844 "langs_src/parser_cpp_language.php"
#line 1197 "langs_src/parser_cpp_language.y"
    function yy_r202(){
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor ;
    }
#line 7849 "langs_src/parser_cpp_language.php"
#line 1202 "langs_src/parser_cpp_language.y"
    function yy_r203(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"не равно\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция не равно", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_notequal', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7855 "langs_src/parser_cpp_language.php"
#line 1207 "langs_src/parser_cpp_language.y"
    function yy_r204(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"равно\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция равно", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_equal', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7861 "langs_src/parser_cpp_language.php"
#line 1219 "langs_src/parser_cpp_language.y"
    function yy_r206(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"меньше или равно\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция меньше или равно", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_lesser_or_equal', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7867 "langs_src/parser_cpp_language.php"
#line 1224 "langs_src/parser_cpp_language.y"
    function yy_r207(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"больше или равно\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция больше или равно", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_greater_or_equal', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7873 "langs_src/parser_cpp_language.php"
#line 1229 "langs_src/parser_cpp_language.y"
    function yy_r208(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"больше\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция больше", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_greater', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7879 "langs_src/parser_cpp_language.php"
#line 1234 "langs_src/parser_cpp_language.y"
    function yy_r209(){
	$this->currentrule = new block_formal_langs_description_rule("операция \"меньше\"  на выражениях \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция меньше", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_lesser', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7885 "langs_src/parser_cpp_language.php"
#line 1246 "langs_src/parser_cpp_language.y"
    function yy_r211(){
	$this->currentrule = new block_formal_langs_description_rule("сдвиг влево выражения %1(именительный) на число байт, заданное выражением %3(именительный)", array("%ur(именительный)", "операция сдвига влево", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_leftshift', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7891 "langs_src/parser_cpp_language.php"
#line 1251 "langs_src/parser_cpp_language.y"
    function yy_r212(){
	$this->currentrule = new block_formal_langs_description_rule("сдвиг вправо выражения %1(именительный) на число байт, заданное выражением %3(именительный)", array("%ur(именительный)", "операция сдвига вправо", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_rightshift', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7897 "langs_src/parser_cpp_language.php"
#line 1263 "langs_src/parser_cpp_language.y"
    function yy_r214(){
	$this->currentrule = new block_formal_langs_description_rule("разность выражений \"%1(именительный)\" и \"%3(именительный)\"", array("%ur(именительный)", "операция вычитания", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_minus', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7903 "langs_src/parser_cpp_language.php"
#line 1268 "langs_src/parser_cpp_language.y"
    function yy_r215(){
	$this->currentrule = new block_formal_langs_description_rule("сумма %1(именительный) и %3(именительный)", array("%ur(именительный)", "операция суммирования", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_plus', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7909 "langs_src/parser_cpp_language.php"
#line 1280 "langs_src/parser_cpp_language.y"
    function yy_r217(){
	$this->currentrule = new block_formal_langs_description_rule("получение остатка от деления выражений %1(именительный) и %3(именительный)", array("%ur(именительный)", "операция получения остатка от деления", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_modulosign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7915 "langs_src/parser_cpp_language.php"
#line 1285 "langs_src/parser_cpp_language.y"
    function yy_r218(){
	$this->currentrule = new block_formal_langs_description_rule("деление %1(именительный) и %3(именительный)", array("%ur(именительный)", "операция деления", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_division', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7921 "langs_src/parser_cpp_language.php"
#line 1290 "langs_src/parser_cpp_language.y"
    function yy_r219(){
	$this->currentrule = new block_formal_langs_description_rule("умножение %1(именительный) и %3(именительный)", array("%ur(именительный)", "операция умножения", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_multiply', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7927 "langs_src/parser_cpp_language.php"
#line 1302 "langs_src/parser_cpp_language.y"
    function yy_r221(){
	$this->currentrule = new block_formal_langs_description_rule("взятие поля по указателю", array("%ur(именительный)", "%s", "%s"));
	$this->_retvalue = $this->create_node('expr_get_property', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7933 "langs_src/parser_cpp_language.php"
#line 1319 "langs_src/parser_cpp_language.y"
    function yy_r224(){
	$this->currentrule = new block_formal_langs_description_rule("операция взятия указателя", array("операция взятия указателя", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_take_adress', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7939 "langs_src/parser_cpp_language.php"
#line 1324 "langs_src/parser_cpp_language.y"
    function yy_r225(){
	$this->currentrule = new block_formal_langs_description_rule("операция разыменования указателя", array("операция разыменования", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_dereference', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 7945 "langs_src/parser_cpp_language.php"
#line 1329 "langs_src/parser_cpp_language.y"
    function yy_r226(){
	$this->currentrule = new block_formal_langs_description_rule("операция приведения к типу", array("%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_typecast', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7951 "langs_src/parser_cpp_language.php"
#line 1334 "langs_src/parser_cpp_language.y"
    function yy_r227(){
	$this->currentrule = new block_formal_langs_description_rule("логическое отрицание на выражении %2(именительный)", array("операция логического отрицания", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_logical_not', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7957 "langs_src/parser_cpp_language.php"
#line 1339 "langs_src/parser_cpp_language.y"
    function yy_r228(){
	$this->currentrule = new block_formal_langs_description_rule("побитовое отрицание на выражении %2(именительный)", array("операция побитового отрицания", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_binary_not', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7963 "langs_src/parser_cpp_language.php"
#line 1344 "langs_src/parser_cpp_language.y"
    function yy_r229(){
	$this->currentrule = new block_formal_langs_description_rule("операция унарного минуса на выражении %2(именительный)", array("операция унарного минуса", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_unary_minus', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7969 "langs_src/parser_cpp_language.php"
#line 1349 "langs_src/parser_cpp_language.y"
    function yy_r230(){
	$this->currentrule = new block_formal_langs_description_rule("операция унарного плюса на выражении %2(именительный)", array("операция унарного плюса", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_unary_plus', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7975 "langs_src/parser_cpp_language.php"
#line 1354 "langs_src/parser_cpp_language.y"
    function yy_r231(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("операция декремента", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_prefix_decrement', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7981 "langs_src/parser_cpp_language.php"
#line 1359 "langs_src/parser_cpp_language.y"
    function yy_r232(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("операция инкремента", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('expr_prefix_decrement', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7987 "langs_src/parser_cpp_language.php"
#line 1371 "langs_src/parser_cpp_language.y"
    function yy_r234(){
	$this->currentrule = new block_formal_langs_description_rule("обращение к полю по указателю на метод", array("%ur(именительный)", "имя свойства"));
	$this->_retvalue = $this->create_node('expr_property_access', array( $this->yystack[$this->yyidx + -1]->minor , $this->yystack[$this->yyidx + 0]->minor) );
    }
#line 7993 "langs_src/parser_cpp_language.php"
#line 1381 "langs_src/parser_cpp_language.y"
    function yy_r236(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный) выражения \"%3(именительный)\"", array("%ur(именительный)", "левая круглая скобка", "%ur(именительный)", "правая квадратная скобка"));
	$this->_retvalue = $this->create_node('expr_array_access', array( $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 7999 "langs_src/parser_cpp_language.php"
#line 1386 "langs_src/parser_cpp_language.y"
    function yy_r237(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "левая квадратная скобка", "%ur(именительный)", "правая квадратная скобка"));
	$this->_retvalue = $this->create_node('expr_array_access', array( $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8005 "langs_src/parser_cpp_language.php"
#line 1391 "langs_src/parser_cpp_language.y"
    function yy_r238(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "левая круглая скобка", "%ur(именительный)", "правая круглая скобка"));
	$this->_retvalue = $this->create_node('expr_function_call', array( $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8011 "langs_src/parser_cpp_language.php"
#line 1396 "langs_src/parser_cpp_language.y"
    function yy_r239(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "левая круглая скобка", "правая круглая скобка"));
	$this->_retvalue = $this->create_node('expr_function_call', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8017 "langs_src/parser_cpp_language.php"
#line 1401 "langs_src/parser_cpp_language.y"
    function yy_r240(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "операция инкремента"));
	$this->_retvalue = $this->create_node('expr_postfix_increment', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8023 "langs_src/parser_cpp_language.php"
#line 1406 "langs_src/parser_cpp_language.y"
    function yy_r241(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "операция декремента"));
	$this->_retvalue = $this->create_node('expr_postfix_decrement', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8029 "langs_src/parser_cpp_language.php"
#line 1411 "langs_src/parser_cpp_language.y"
    function yy_r242(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%ur(именительный)"));
	$this->_retvalue =  $this->yystack[$this->yyidx + 0]->minor;
    }
#line 8035 "langs_src/parser_cpp_language.php"
#line 1418 "langs_src/parser_cpp_language.y"
    function yy_r243(){
	$this->currentrule = new block_formal_langs_description_rule("операция разыменования указателя на метод или переменной", array("%ur (именительный)", "операция взятия указателя на метод или поля переменной"));
	$this->_retvalue = $this->create_node('try_value_access', array( $this->yystack[$this->yyidx + -1]->minor , $this->yystack[$this->yyidx + 0]->minor) );
    }
#line 8041 "langs_src/parser_cpp_language.php"
#line 1423 "langs_src/parser_cpp_language.y"
    function yy_r244(){
	$this->currentrule = new block_formal_langs_description_rule("операция разыменования указателя на метод или переменной", array("%ur (именительный)", "операция взятия указателя на метод или переменной"));
	$this->_retvalue = $this->create_node('try_pointer_access', array( $this->yystack[$this->yyidx + -1]->minor , $this->yystack[$this->yyidx + 0]->minor) );
    }
#line 8047 "langs_src/parser_cpp_language.php"
#line 1430 "langs_src/parser_cpp_language.y"
    function yy_r245(){
	$this->currentrule = new block_formal_langs_description_rule("приведение со снятием константности к %3(родительный) типу ", array("ключевое слово приведения типа", "знак \"меньше\"", "%ur(именительный)", "знак \"больше\""));
	$this->_retvalue = $this->create_node('expr_const_cast', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8053 "langs_src/parser_cpp_language.php"
#line 1435 "langs_src/parser_cpp_language.y"
    function yy_r246(){
	$this->currentrule = new block_formal_langs_description_rule("статическое приведение к %3(родительный) типу ", array("ключевое слово приведения типа", "знак \"меньше\"", "%ur(именительный)", "знак \"больше\""));
	$this->_retvalue = $this->create_node('expr_static_cast', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8059 "langs_src/parser_cpp_language.php"
#line 1440 "langs_src/parser_cpp_language.y"
    function yy_r247(){
	$this->currentrule = new block_formal_langs_description_rule("динамическое приведение к %3(родительный) типу ", array("ключевое слово приведения типа", "знак \"меньше\"", "%ur(именительный)", "знак \"больше\""));
	$this->_retvalue = $this->create_node('expr_dynamic_cast', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8065 "langs_src/parser_cpp_language.php"
#line 1445 "langs_src/parser_cpp_language.y"
    function yy_r248(){
	$this->currentrule = new block_formal_langs_description_rule("побайтовое приведение к %3(родительный) типу ", array("ключевое слово приведения типа", "знак \"меньше\"", "%ur(именительный)", "знак \"больше\""));
	$this->_retvalue = $this->create_node('expr_reinterpret_cast', array($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8071 "langs_src/parser_cpp_language.php"
#line 1456 "langs_src/parser_cpp_language.y"
    function yy_r250(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "%ur(именительный)"));
	$this->_retvalue =  $this->create_node('lvalue_or_assignment_list', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8077 "langs_src/parser_cpp_language.php"
#line 1465 "langs_src/parser_cpp_language.y"
    function yy_r252(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "%ur(именительный)"));
	$this->_retvalue =  $this->create_node('assign', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8083 "langs_src/parser_cpp_language.php"
#line 1475 "langs_src/parser_cpp_language.y"
    function yy_r254(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue =  $this->create_node('initialization_list', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8089 "langs_src/parser_cpp_language.php"
#line 1480 "langs_src/parser_cpp_language.y"
    function yy_r255(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%ur(именительный)", "%s"));
	$this->_retvalue =  $this->create_node('initialization_list', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8095 "langs_src/parser_cpp_language.php"
#line 1494 "langs_src/parser_cpp_language.y"
    function yy_r258(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "%ur(именительный)"));
	$this->_retvalue =  $this->create_node('initialization_list_argument_list', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8101 "langs_src/parser_cpp_language.php"
#line 1499 "langs_src/parser_cpp_language.y"
    function yy_r259(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "%ur(именительный)"));
	$this->_retvalue =  $this->create_node('initialization_list_argument_list', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, C));
    }
#line 8107 "langs_src/parser_cpp_language.php"
#line 1509 "langs_src/parser_cpp_language.y"
    function yy_r261(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "%ur(именительный)", "%s"));
	$this->_retvalue =  $this->create_node('lvalue', array( $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8113 "langs_src/parser_cpp_language.php"
#line 1514 "langs_src/parser_cpp_language.y"
    function yy_r262(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "%s"));
	$this->_retvalue =  $this->create_node('lvalue', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8119 "langs_src/parser_cpp_language.php"
#line 1520 "langs_src/parser_cpp_language.y"
    function yy_r263(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%ur(именительный)"));
	$this->_retvalue =  $this->create_node('lvalue', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8125 "langs_src/parser_cpp_language.php"
#line 1534 "langs_src/parser_cpp_language.y"
    function yy_r266(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%ur(именительный)", "%ur(именительный)"));
	$this->_retvalue =  $this->create_node('lvalue', array( $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8131 "langs_src/parser_cpp_language.php"
#line 1539 "langs_src/parser_cpp_language.y"
    function yy_r267(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "%ur(именительный)", "%ur(именительный)"));
	$this->mapper->clear_lookup_namespace();
	$this->_retvalue =  $this->create_node('lvalue', array( $this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8138 "langs_src/parser_cpp_language.php"
#line 1546 "langs_src/parser_cpp_language.y"
    function yy_r268(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue =  $this->create_node('lvalue', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8144 "langs_src/parser_cpp_language.php"
#line 1551 "langs_src/parser_cpp_language.y"
    function yy_r269(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s", "%s"));
	$this->_retvalue =  $this->create_node('lvalue', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8150 "langs_src/parser_cpp_language.php"
#line 1564 "langs_src/parser_cpp_language.y"
    function yy_r271(){
	$this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("%s"));
	$this->_retvalue =  $this->yystack[$this->yyidx + 0]->minor;
    }
#line 8156 "langs_src/parser_cpp_language.php"
#line 1569 "langs_src/parser_cpp_language.y"
    function yy_r272(){
	$this->_retvalue =  $this->yystack[$this->yyidx + 0]->minor;
    }
#line 8161 "langs_src/parser_cpp_language.php"
#line 1592 "langs_src/parser_cpp_language.y"
    function yy_r277(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s"));
	$this->_retvalue =  $this->create_node('scoped_identifier', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8167 "langs_src/parser_cpp_language.php"
#line 1598 "langs_src/parser_cpp_language.y"
    function yy_r278(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("левая круглая скобка", "%s", "провая круглая скобка"));
	$this->_retvalue =  $this->create_node('expr_brackets', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8173 "langs_src/parser_cpp_language.php"
#line 1603 "langs_src/parser_cpp_language.y"
    function yy_r279(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue =  $this->create_node('preprocessor_stringify', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8179 "langs_src/parser_cpp_language.php"
#line 1613 "langs_src/parser_cpp_language.y"
    function yy_r281(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "%s"));
	$this->_retvalue =  $this->create_node('preprocessor_concat', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8185 "langs_src/parser_cpp_language.php"
#line 1635 "langs_src/parser_cpp_language.y"
    function yy_r285(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("операция взятия размера структуры", "левая круглая скобка", "%ur(именительный)", "правая круглая скобка"));
	$this->_retvalue =  $this->create_node('sizeof', array( $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8191 "langs_src/parser_cpp_language.php"
#line 1640 "langs_src/parser_cpp_language.y"
    function yy_r286(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("операция взятия размера структуры", "левая круглая скобка", "%s", "правая круглая скобка"));
	$this->_retvalue =  $this->create_node('sizeof', array( $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8197 "langs_src/parser_cpp_language.php"
#line 1647 "langs_src/parser_cpp_language.y"
    function yy_r287(){
	$this->currentrule = new block_formal_langs_description_rule("операция приведения к типу %2(именительный) ", array("левая круглая скобка", "%ur(именительный)", "правая круглая скобка"));
	$result = $this->create_node('c_style_typecast_operator', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
	$this->_retvalue = $result;
    }
#line 8204 "langs_src/parser_cpp_language.php"
#line 1655 "langs_src/parser_cpp_language.y"
    function yy_r288(){
	$this->currentrule = new block_formal_langs_description_rule("константный тип %1(именительный) ", array("признак константности", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('type', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8210 "langs_src/parser_cpp_language.php"
#line 1676 "langs_src/parser_cpp_language.y"
    function yy_r293(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "%s"));
	$this->mapper->clear_lookup_namespace();
	$this->_retvalue = $this->create_node('scoped_type', array( $this->yystack[$this->yyidx + -2]->minor,  $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8217 "langs_src/parser_cpp_language.php"
#line 1682 "langs_src/parser_cpp_language.y"
    function yy_r294(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "%s"));
	$this->mapper->clear_lookup_namespace();
	$this->_retvalue = $this->create_node('scoped_type', array( $this->yystack[$this->yyidx + -1]->minor,  $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8224 "langs_src/parser_cpp_language.php"
#line 1688 "langs_src/parser_cpp_language.y"
    function yy_r295(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%ur(именительный)", "операция разрешения видимости"));
	$this->_retvalue = $this->create_node('namespace_resolve', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8230 "langs_src/parser_cpp_language.php"
#line 1693 "langs_src/parser_cpp_language.y"
    function yy_r296(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "%s", "операция разрешения видимости"));
	$this->_retvalue = $this->create_node('namespace_resolve', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8236 "langs_src/parser_cpp_language.php"
#line 1698 "langs_src/parser_cpp_language.y"
    function yy_r297(){
	$this->mapper->push_lookup_entry((string)($this->yystack[$this->yyidx + 0]->minor->value()));
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 8242 "langs_src/parser_cpp_language.php"
#line 1703 "langs_src/parser_cpp_language.y"
    function yy_r298(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->mapper->push_lookup_entry((string)($this->yystack[$this->yyidx + -1]->minor->value()));
	$this->_retvalue = $this->create_node('instantiated_template_type', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8249 "langs_src/parser_cpp_language.php"
#line 1709 "langs_src/parser_cpp_language.y"
    function yy_r299(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "операция разрешения видимости"));
	$this->_retvalue = $this->create_node('namespace_resolve', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8255 "langs_src/parser_cpp_language.php"
#line 1720 "langs_src/parser_cpp_language.y"
    function yy_r301(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%ur(именительный)", "операция разрешения видимости"));
	$this->_retvalue = $this->create_node('namespace_resolve', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8261 "langs_src/parser_cpp_language.php"
#line 1725 "langs_src/parser_cpp_language.y"
    function yy_r302(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->mapper->start_new_lookup_namespace();
	$this->mapper->push_lookup_entry((string)($this->yystack[$this->yyidx + -1]->minor->value()));
	$this->_retvalue = $this->create_node('instantiated_template_type', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8269 "langs_src/parser_cpp_language.php"
#line 1732 "langs_src/parser_cpp_language.y"
    function yy_r303(){
	$this->mapper->start_new_lookup_namespace();
	$this->mapper->push_lookup_entry((string)($this->yystack[$this->yyidx + 0]->minor->value()));
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 8276 "langs_src/parser_cpp_language.php"
#line 1744 "langs_src/parser_cpp_language.y"
    function yy_r305(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('instantiated_template_type', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8282 "langs_src/parser_cpp_language.php"
#line 1752 "langs_src/parser_cpp_language.y"
    function yy_r306(){
	$this->currentrule = new block_formal_langs_description_rule("ссылка на %1(именительный)", array("%ur(именительный)", "признак  ссылки"));
	$this->_retvalue = $this->create_node('type_ref', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8288 "langs_src/parser_cpp_language.php"
#line 1757 "langs_src/parser_cpp_language.y"
    function yy_r307(){
	$this->yystack[$this->yyidx + -1]->minor->add_child($this->yystack[$this->yyidx + 0]->minor);
	$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
    }
#line 8294 "langs_src/parser_cpp_language.php"
#line 1782 "langs_src/parser_cpp_language.y"
    function yy_r313(){
	$this->currentrule = new block_formal_langs_description_rule("ссылка на %1(именительный)", array("%ur(именительный)", "признак указателя"));
	$this->_retvalue = $this->create_node('type_with_ptr', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8300 "langs_src/parser_cpp_language.php"
#line 1787 "langs_src/parser_cpp_language.y"
    function yy_r314(){
	$this->currentrule = new block_formal_langs_description_rule("ссылка на %1(именительный)", array("%ur(именительный)", "признак константности", "признак указателя"));
	$this->_retvalue = $this->create_node('type_with_ptr', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8306 "langs_src/parser_cpp_language.php"
#line 1802 "langs_src/parser_cpp_language.y"
    function yy_r317(){
	$this->currentrule = new block_formal_langs_description_rule("список типов", array("список типов", "запятая", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('template_instantiation_argument_list', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8312 "langs_src/parser_cpp_language.php"
#line 1807 "langs_src/parser_cpp_language.y"
    function yy_r318(){
	$this->currentrule = new block_formal_langs_description_rule("список типов", array("список типов", "запятая", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('type_with_ptr', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8318 "langs_src/parser_cpp_language.php"
#line 1812 "langs_src/parser_cpp_language.y"
    function yy_r319(){
	$this->mapper->start_new_lookup_namespace();
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 8324 "langs_src/parser_cpp_language.php"
#line 1817 "langs_src/parser_cpp_language.y"
    function yy_r320(){
	$this->mapper->clear_lookup_namespace();
	$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
    }
#line 8330 "langs_src/parser_cpp_language.php"
#line 1822 "langs_src/parser_cpp_language.y"
    function yy_r321(){
	$this->currentrule = new block_formal_langs_description_rule("список аргументов инстанцирования шаблона", array("начало списка аргументов инстанцирования шаблона", "конец списка аргументов инстанцирования шаблона"));
	$this->_retvalue = $this->create_node('template_instantiation_arguments', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8336 "langs_src/parser_cpp_language.php"
#line 1827 "langs_src/parser_cpp_language.y"
    function yy_r322(){
	$this->currentrule = new block_formal_langs_description_rule("список аргументов инстанцирования шаблона", array("начало списка аргументов инстанцирования шаблона", "%ur(именительный)", "конец списка аргументов инстанцирования шаблона"));
	$this->_retvalue = $this->create_node('template_instantiation_arguments', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8342 "langs_src/parser_cpp_language.php"
#line 1834 "langs_src/parser_cpp_language.y"
    function yy_r323(){
    $this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("имя пустого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8348 "langs_src/parser_cpp_language.php"
#line 1842 "langs_src/parser_cpp_language.y"
    function yy_r324(){
    $this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("имя типа c плавающей запятой одинарной точности"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8354 "langs_src/parser_cpp_language.php"
#line 1847 "langs_src/parser_cpp_language.y"
    function yy_r325(){
    $this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("имя типа c плавающей запятой двойной точности"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8360 "langs_src/parser_cpp_language.php"
#line 1852 "langs_src/parser_cpp_language.y"
    function yy_r326(){
    $this->currentrule = new block_formal_langs_description_rule("имя длинного типа c плавающей запятой двойной точности", array("признак длинного числа", "имя типа c плавающей запятой двойной точности"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8366 "langs_src/parser_cpp_language.php"
#line 1860 "langs_src/parser_cpp_language.y"
    function yy_r327(){
    $this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("имя символьного типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8372 "langs_src/parser_cpp_language.php"
#line 1865 "langs_src/parser_cpp_language.y"
    function yy_r328(){
    $this->currentrule = new block_formal_langs_description_rule("знаковый символьный тип", array("признак знаковости", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8378 "langs_src/parser_cpp_language.php"
#line 1870 "langs_src/parser_cpp_language.y"
    function yy_r329(){
    $this->currentrule = new block_formal_langs_description_rule("беззнаковый символьный тип", array("признак беззнаковости", "%ur(именительный)"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8384 "langs_src/parser_cpp_language.php"
#line 1878 "langs_src/parser_cpp_language.y"
    function yy_r330(){
    $this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("имя целого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8390 "langs_src/parser_cpp_language.php"
#line 1883 "langs_src/parser_cpp_language.y"
    function yy_r331(){
    $this->currentrule = new block_formal_langs_description_rule("знаковый целый тип", array("признак знаковости", "имя целого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8396 "langs_src/parser_cpp_language.php"
#line 1888 "langs_src/parser_cpp_language.y"
    function yy_r332(){
    $this->currentrule = new block_formal_langs_description_rule("беззнаковый целый тип", array("признак беззнаковости", "имя целого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8402 "langs_src/parser_cpp_language.php"
#line 1893 "langs_src/parser_cpp_language.y"
    function yy_r333(){
    $this->currentrule = new block_formal_langs_description_rule("короткий целый тип", array("признак короткого целого типа", "имя целого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8408 "langs_src/parser_cpp_language.php"
#line 1898 "langs_src/parser_cpp_language.y"
    function yy_r334(){
    $this->currentrule = new block_formal_langs_description_rule("знаковый короткий целый тип", array("признак знаковости", "признак короткого целого типа", "имя целого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8414 "langs_src/parser_cpp_language.php"
#line 1903 "langs_src/parser_cpp_language.y"
    function yy_r335(){
    $this->currentrule = new block_formal_langs_description_rule("беззнаковый короткий целый тип", array("признак беззнаковости", "признак короткого целого типа", "имя целого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8420 "langs_src/parser_cpp_language.php"
#line 1908 "langs_src/parser_cpp_language.y"
    function yy_r336(){
    $this->currentrule = new block_formal_langs_description_rule("длинный целый тип", array("признак длинного целого типа", "имя целого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8426 "langs_src/parser_cpp_language.php"
#line 1913 "langs_src/parser_cpp_language.y"
    function yy_r337(){
    $this->currentrule = new block_formal_langs_description_rule("знаковый длинный целый тип", array("признак знаковости", "признак длинного целого типа", "имя целого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8432 "langs_src/parser_cpp_language.php"
#line 1918 "langs_src/parser_cpp_language.y"
    function yy_r338(){
    $this->currentrule = new block_formal_langs_description_rule("беззнаковый длинный целый тип", array("признак беззнаковости", "признак длинного целого типа", "имя целого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8438 "langs_src/parser_cpp_language.php"
#line 1923 "langs_src/parser_cpp_language.y"
    function yy_r339(){
    $this->currentrule = new block_formal_langs_description_rule("64-битный целый тип", array("признак длинного целого типа", "признак длинного целого типа", "имя целого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8444 "langs_src/parser_cpp_language.php"
#line 1929 "langs_src/parser_cpp_language.y"
    function yy_r340(){
    $this->currentrule = new block_formal_langs_description_rule("знаковый 64-битный целый тип", array("признак знаковости", "признак длинного целого типа", "признак длинного целого типа", "имя целого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8450 "langs_src/parser_cpp_language.php"
#line 1934 "langs_src/parser_cpp_language.y"
    function yy_r341(){
    $this->currentrule = new block_formal_langs_description_rule("беззнаковый 64-битный целый тип", array("признак беззнаковости", "признак длинного целого типа", "признак длинного целого типа", "имя целого типа"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8456 "langs_src/parser_cpp_language.php"
#line 1942 "langs_src/parser_cpp_language.y"
    function yy_r342(){
    $this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("короткий целый тип"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8462 "langs_src/parser_cpp_language.php"
#line 1947 "langs_src/parser_cpp_language.y"
    function yy_r343(){
    $this->currentrule = new block_formal_langs_description_rule("знаковый короткий целый тип", array("признак знаковости", "короткий целый тип"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8468 "langs_src/parser_cpp_language.php"
#line 1952 "langs_src/parser_cpp_language.y"
    function yy_r344(){
    $this->currentrule = new block_formal_langs_description_rule("беззнаковый короткий целый тип", array("признак беззнаковости", "короткий целый тип"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8474 "langs_src/parser_cpp_language.php"
#line 1959 "langs_src/parser_cpp_language.y"
    function yy_r345(){
    $this->currentrule = new block_formal_langs_description_rule("%1(именительный)", array("длинный целый тип"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8480 "langs_src/parser_cpp_language.php"
#line 1964 "langs_src/parser_cpp_language.y"
    function yy_r346(){
    $this->currentrule = new block_formal_langs_description_rule("знаковый длинный целвый тип", array("признак знаковости", "длинный целый тип"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8486 "langs_src/parser_cpp_language.php"
#line 1969 "langs_src/parser_cpp_language.y"
    function yy_r347(){
    $this->currentrule = new block_formal_langs_description_rule("беззнаковый длинный целвый тип", array("признак беззнаковости", "длинный целый тип"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8492 "langs_src/parser_cpp_language.php"
#line 1976 "langs_src/parser_cpp_language.y"
    function yy_r348(){
    $this->currentrule = new block_formal_langs_description_rule("64-битный целый тип", array("признак длинного целого", "длинный целый тип"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8498 "langs_src/parser_cpp_language.php"
#line 1981 "langs_src/parser_cpp_language.y"
    function yy_r349(){
    $this->currentrule = new block_formal_langs_description_rule("знаковый 64-битный целый тип", array("признак знаковости", "признак длинного целого", "длинный целый тип"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8504 "langs_src/parser_cpp_language.php"
#line 1986 "langs_src/parser_cpp_language.y"
    function yy_r350(){
    $this->currentrule = new block_formal_langs_description_rule("беззнаковый 64-битный целый тип", array("признак беззнаковости", "признак длинного целого", "длинный целый тип"));
	$this->_retvalue = $this->create_node('builtintype', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor ));
    }
#line 8510 "langs_src/parser_cpp_language.php"
#line 1999 "langs_src/parser_cpp_language.y"
    function yy_r352(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('unsigned', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8516 "langs_src/parser_cpp_language.php"
#line 2008 "langs_src/parser_cpp_language.y"
    function yy_r354(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('signed', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8522 "langs_src/parser_cpp_language.php"
#line 2017 "langs_src/parser_cpp_language.y"
    function yy_r356(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('long', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8528 "langs_src/parser_cpp_language.php"
#line 2026 "langs_src/parser_cpp_language.y"
    function yy_r358(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('short', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8534 "langs_src/parser_cpp_language.php"
#line 2035 "langs_src/parser_cpp_language.y"
    function yy_r360(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('int', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8540 "langs_src/parser_cpp_language.php"
#line 2044 "langs_src/parser_cpp_language.y"
    function yy_r362(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('char', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8546 "langs_src/parser_cpp_language.php"
#line 2053 "langs_src/parser_cpp_language.y"
    function yy_r364(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('double', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8552 "langs_src/parser_cpp_language.php"
#line 2062 "langs_src/parser_cpp_language.y"
    function yy_r366(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('float', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8558 "langs_src/parser_cpp_language.php"
#line 2071 "langs_src/parser_cpp_language.y"
    function yy_r368(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('void', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8564 "langs_src/parser_cpp_language.php"
#line 2080 "langs_src/parser_cpp_language.y"
    function yy_r370(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('greater', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8570 "langs_src/parser_cpp_language.php"
#line 2089 "langs_src/parser_cpp_language.y"
    function yy_r372(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('comma', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8576 "langs_src/parser_cpp_language.php"
#line 2098 "langs_src/parser_cpp_language.y"
    function yy_r374(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('lesser', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8582 "langs_src/parser_cpp_language.php"
#line 2107 "langs_src/parser_cpp_language.y"
    function yy_r376(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('multiply', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8588 "langs_src/parser_cpp_language.php"
#line 2116 "langs_src/parser_cpp_language.y"
    function yy_r378(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('ampersand', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8594 "langs_src/parser_cpp_language.php"
#line 2125 "langs_src/parser_cpp_language.y"
    function yy_r380(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('constkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8600 "langs_src/parser_cpp_language.php"
#line 2134 "langs_src/parser_cpp_language.y"
    function yy_r382(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('typename', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8606 "langs_src/parser_cpp_language.php"
#line 2143 "langs_src/parser_cpp_language.y"
    function yy_r384(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('namespace_resolve_terminal', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8612 "langs_src/parser_cpp_language.php"
#line 2152 "langs_src/parser_cpp_language.y"
    function yy_r386(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('leftroundbracket', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8618 "langs_src/parser_cpp_language.php"
#line 2161 "langs_src/parser_cpp_language.y"
    function yy_r388(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('rightroundbracket', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8624 "langs_src/parser_cpp_language.php"
#line 2170 "langs_src/parser_cpp_language.y"
    function yy_r390(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('sizeof', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8630 "langs_src/parser_cpp_language.php"
#line 2179 "langs_src/parser_cpp_language.y"
    function yy_r392(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('identifier', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8636 "langs_src/parser_cpp_language.php"
#line 2188 "langs_src/parser_cpp_language.y"
    function yy_r394(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('preprocessor_concat_terminal', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8642 "langs_src/parser_cpp_language.php"
#line 2197 "langs_src/parser_cpp_language.y"
    function yy_r396(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('preprocessor_stringify_terminal', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8648 "langs_src/parser_cpp_language.php"
#line 2207 "langs_src/parser_cpp_language.y"
    function yy_r398(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('string', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8654 "langs_src/parser_cpp_language.php"
#line 2217 "langs_src/parser_cpp_language.y"
    function yy_r400(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s", "%s"));
	$this->_retvalue = $this->create_node('string', array( $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8660 "langs_src/parser_cpp_language.php"
#line 2226 "langs_src/parser_cpp_language.y"
    function yy_r402(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('character', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8666 "langs_src/parser_cpp_language.php"
#line 2235 "langs_src/parser_cpp_language.y"
    function yy_r404(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('numeric', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8672 "langs_src/parser_cpp_language.php"
#line 2244 "langs_src/parser_cpp_language.y"
    function yy_r406(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('leftsquarebracket', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8678 "langs_src/parser_cpp_language.php"
#line 2253 "langs_src/parser_cpp_language.y"
    function yy_r408(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('rightsquarebracket', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8684 "langs_src/parser_cpp_language.php"
#line 2262 "langs_src/parser_cpp_language.y"
    function yy_r410(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('leftfigurebracket', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8690 "langs_src/parser_cpp_language.php"
#line 2271 "langs_src/parser_cpp_language.y"
    function yy_r412(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('rightfigurebracket', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8696 "langs_src/parser_cpp_language.php"
#line 2280 "langs_src/parser_cpp_language.y"
    function yy_r414(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('assign', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8702 "langs_src/parser_cpp_language.php"
#line 2289 "langs_src/parser_cpp_language.y"
    function yy_r416(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('reinterpret_cast', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8708 "langs_src/parser_cpp_language.php"
#line 2298 "langs_src/parser_cpp_language.y"
    function yy_r418(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('dynamic_cast', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8714 "langs_src/parser_cpp_language.php"
#line 2307 "langs_src/parser_cpp_language.y"
    function yy_r420(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('static_cast', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8720 "langs_src/parser_cpp_language.php"
#line 2316 "langs_src/parser_cpp_language.y"
    function yy_r422(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('const_cast', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8726 "langs_src/parser_cpp_language.php"
#line 2325 "langs_src/parser_cpp_language.y"
    function yy_r424(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('rightarrow', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8732 "langs_src/parser_cpp_language.php"
#line 2334 "langs_src/parser_cpp_language.y"
    function yy_r426(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('dot', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8738 "langs_src/parser_cpp_language.php"
#line 2343 "langs_src/parser_cpp_language.y"
    function yy_r428(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('decrement', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8744 "langs_src/parser_cpp_language.php"
#line 2361 "langs_src/parser_cpp_language.y"
    function yy_r432(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('plus', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8750 "langs_src/parser_cpp_language.php"
#line 2370 "langs_src/parser_cpp_language.y"
    function yy_r434(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('minus', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8756 "langs_src/parser_cpp_language.php"
#line 2379 "langs_src/parser_cpp_language.y"
    function yy_r436(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('binarynot', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8762 "langs_src/parser_cpp_language.php"
#line 2388 "langs_src/parser_cpp_language.y"
    function yy_r438(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('logicalnot', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8768 "langs_src/parser_cpp_language.php"
#line 2397 "langs_src/parser_cpp_language.y"
    function yy_r440(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('division', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8774 "langs_src/parser_cpp_language.php"
#line 2406 "langs_src/parser_cpp_language.y"
    function yy_r442(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('modulosign', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8780 "langs_src/parser_cpp_language.php"
#line 2415 "langs_src/parser_cpp_language.y"
    function yy_r444(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('rightshift', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8786 "langs_src/parser_cpp_language.php"
#line 2424 "langs_src/parser_cpp_language.y"
    function yy_r446(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('leftshift', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8792 "langs_src/parser_cpp_language.php"
#line 2433 "langs_src/parser_cpp_language.y"
    function yy_r448(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('greater_or_equal', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8798 "langs_src/parser_cpp_language.php"
#line 2442 "langs_src/parser_cpp_language.y"
    function yy_r450(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('lesser_or_equal', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8804 "langs_src/parser_cpp_language.php"
#line 2451 "langs_src/parser_cpp_language.y"
    function yy_r452(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('equal', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8810 "langs_src/parser_cpp_language.php"
#line 2460 "langs_src/parser_cpp_language.y"
    function yy_r454(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('not_equal', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8816 "langs_src/parser_cpp_language.php"
#line 2469 "langs_src/parser_cpp_language.y"
    function yy_r456(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('binaryor', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8822 "langs_src/parser_cpp_language.php"
#line 2487 "langs_src/parser_cpp_language.y"
    function yy_r460(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('logicalor', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8828 "langs_src/parser_cpp_language.php"
#line 2496 "langs_src/parser_cpp_language.y"
    function yy_r462(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('logicaland', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8834 "langs_src/parser_cpp_language.php"
#line 2505 "langs_src/parser_cpp_language.y"
    function yy_r464(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('minus_assign', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8840 "langs_src/parser_cpp_language.php"
#line 2514 "langs_src/parser_cpp_language.y"
    function yy_r466(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('plus_assign', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8846 "langs_src/parser_cpp_language.php"
#line 2523 "langs_src/parser_cpp_language.y"
    function yy_r468(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('multiply_assign', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8852 "langs_src/parser_cpp_language.php"
#line 2532 "langs_src/parser_cpp_language.y"
    function yy_r470(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('division_assign', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8858 "langs_src/parser_cpp_language.php"
#line 2541 "langs_src/parser_cpp_language.y"
    function yy_r472(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('modulo_assign', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8864 "langs_src/parser_cpp_language.php"
#line 2550 "langs_src/parser_cpp_language.y"
    function yy_r474(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('leftshift_assign', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8870 "langs_src/parser_cpp_language.php"
#line 2559 "langs_src/parser_cpp_language.y"
    function yy_r476(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('rightshift_assign', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8876 "langs_src/parser_cpp_language.php"
#line 2568 "langs_src/parser_cpp_language.y"
    function yy_r478(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('binaryand_assign', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8882 "langs_src/parser_cpp_language.php"
#line 2577 "langs_src/parser_cpp_language.y"
    function yy_r480(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('binaryor_assign', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8888 "langs_src/parser_cpp_language.php"
#line 2586 "langs_src/parser_cpp_language.y"
    function yy_r482(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('binaryxor_assign', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8894 "langs_src/parser_cpp_language.php"
#line 2595 "langs_src/parser_cpp_language.y"
    function yy_r484(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('friendkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8900 "langs_src/parser_cpp_language.php"
#line 2604 "langs_src/parser_cpp_language.y"
    function yy_r486(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('volatilekwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8906 "langs_src/parser_cpp_language.php"
#line 2631 "langs_src/parser_cpp_language.y"
    function yy_r492(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('statickwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8912 "langs_src/parser_cpp_language.php"
#line 2640 "langs_src/parser_cpp_language.y"
    function yy_r494(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('delete', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8918 "langs_src/parser_cpp_language.php"
#line 2658 "langs_src/parser_cpp_language.y"
    function yy_r498(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('breakkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8924 "langs_src/parser_cpp_language.php"
#line 2667 "langs_src/parser_cpp_language.y"
    function yy_r500(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('typedef', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8930 "langs_src/parser_cpp_language.php"
#line 2676 "langs_src/parser_cpp_language.y"
    function yy_r502(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('ifkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8936 "langs_src/parser_cpp_language.php"
#line 2685 "langs_src/parser_cpp_language.y"
    function yy_r504(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('elsekwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8942 "langs_src/parser_cpp_language.php"
#line 2694 "langs_src/parser_cpp_language.y"
    function yy_r506(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('defaultkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8948 "langs_src/parser_cpp_language.php"
#line 2703 "langs_src/parser_cpp_language.y"
    function yy_r508(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('casekwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8954 "langs_src/parser_cpp_language.php"
#line 2712 "langs_src/parser_cpp_language.y"
    function yy_r510(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('colon', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8960 "langs_src/parser_cpp_language.php"
#line 2721 "langs_src/parser_cpp_language.y"
    function yy_r512(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('switchkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8966 "langs_src/parser_cpp_language.php"
#line 2730 "langs_src/parser_cpp_language.y"
    function yy_r514(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('ellipsis', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8972 "langs_src/parser_cpp_language.php"
#line 2739 "langs_src/parser_cpp_language.y"
    function yy_r516(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('catchkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8978 "langs_src/parser_cpp_language.php"
#line 2748 "langs_src/parser_cpp_language.y"
    function yy_r518(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('trykwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8984 "langs_src/parser_cpp_language.php"
#line 2757 "langs_src/parser_cpp_language.y"
    function yy_r520(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('gotokwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8990 "langs_src/parser_cpp_language.php"
#line 2766 "langs_src/parser_cpp_language.y"
    function yy_r522(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('continuekwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 8996 "langs_src/parser_cpp_language.php"
#line 2775 "langs_src/parser_cpp_language.y"
    function yy_r524(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('returnkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9002 "langs_src/parser_cpp_language.php"
#line 2784 "langs_src/parser_cpp_language.y"
    function yy_r526(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('semicolon', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9008 "langs_src/parser_cpp_language.php"
#line 2793 "langs_src/parser_cpp_language.y"
    function yy_r528(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('dokwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9014 "langs_src/parser_cpp_language.php"
#line 2802 "langs_src/parser_cpp_language.y"
    function yy_r530(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('whilekwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9020 "langs_src/parser_cpp_language.php"
#line 2811 "langs_src/parser_cpp_language.y"
    function yy_r532(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('preprocessor_include', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9026 "langs_src/parser_cpp_language.php"
#line 2820 "langs_src/parser_cpp_language.y"
    function yy_r534(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('preprocessor_define', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9032 "langs_src/parser_cpp_language.php"
#line 2829 "langs_src/parser_cpp_language.y"
    function yy_r536(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('preprocessor_if', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9038 "langs_src/parser_cpp_language.php"
#line 2838 "langs_src/parser_cpp_language.y"
    function yy_r538(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('preprocessor_ifdef', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9044 "langs_src/parser_cpp_language.php"
#line 2847 "langs_src/parser_cpp_language.y"
    function yy_r540(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('preprocessor_else_terminal', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9050 "langs_src/parser_cpp_language.php"
#line 2856 "langs_src/parser_cpp_language.y"
    function yy_r542(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('preprocessor_elif_terminal', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9056 "langs_src/parser_cpp_language.php"
#line 2865 "langs_src/parser_cpp_language.y"
    function yy_r544(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('preprocessor_endif', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9062 "langs_src/parser_cpp_language.php"
#line 2874 "langs_src/parser_cpp_language.y"
    function yy_r546(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('outer_constructor_name_terminal', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9068 "langs_src/parser_cpp_language.php"
#line 2883 "langs_src/parser_cpp_language.y"
    function yy_r548(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('operatoroverloaddeclaration', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9074 "langs_src/parser_cpp_language.php"
#line 2892 "langs_src/parser_cpp_language.y"
    function yy_r550(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('enumkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9080 "langs_src/parser_cpp_language.php"
#line 2901 "langs_src/parser_cpp_language.y"
    function yy_r552(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('slotskwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9086 "langs_src/parser_cpp_language.php"
#line 2910 "langs_src/parser_cpp_language.y"
    function yy_r554(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('signalskwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9092 "langs_src/parser_cpp_language.php"
#line 2919 "langs_src/parser_cpp_language.y"
    function yy_r556(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('privatekwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9098 "langs_src/parser_cpp_language.php"
#line 2928 "langs_src/parser_cpp_language.y"
    function yy_r558(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('protectedkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9104 "langs_src/parser_cpp_language.php"
#line 2937 "langs_src/parser_cpp_language.y"
    function yy_r560(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('publickwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9110 "langs_src/parser_cpp_language.php"
#line 2946 "langs_src/parser_cpp_language.y"
    function yy_r562(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('unionkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9116 "langs_src/parser_cpp_language.php"
#line 2955 "langs_src/parser_cpp_language.y"
    function yy_r564(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('structkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9122 "langs_src/parser_cpp_language.php"
#line 2964 "langs_src/parser_cpp_language.y"
    function yy_r566(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('classkwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9128 "langs_src/parser_cpp_language.php"
#line 2973 "langs_src/parser_cpp_language.y"
    function yy_r568(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('templatekwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9134 "langs_src/parser_cpp_language.php"
#line 2982 "langs_src/parser_cpp_language.y"
    function yy_r570(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('typenamekwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9140 "langs_src/parser_cpp_language.php"
#line 2991 "langs_src/parser_cpp_language.y"
    function yy_r572(){
	$this->currentrule = new block_formal_langs_description_rule("%s", array("%s", "%s"));
	$this->_retvalue = $this->create_node('namespacekwd', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9146 "langs_src/parser_cpp_language.php"
#line 2998 "langs_src/parser_cpp_language.y"
    function yy_r573(){
	$this->currentrule = new block_formal_langs_description_rule("список комментариев", array("%s", "%s"));
	$this->_retvalue = $this->create_node('comment_list', array( $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor));
    }
#line 9152 "langs_src/parser_cpp_language.php"

    /**
     * placeholder for the left hand side in a reduce operation.
     * 
     * For a parser with a rule like this:
     * <pre>
     * rule(A) ::= B. { A = 1; }
     * </pre>
     * 
     * The parser will translate to something like:
     * 
     * <code>
     * function yy_r0(){$this->_retvalue = 1;}
     * </code>
     */
    private $_retvalue;

    /**
     * Perform a reduce action and the shift that must immediately
     * follow the reduce.
     * 
     * For a rule such as:
     * 
     * <pre>
     * A ::= B blah C. { dosomething(); }
     * </pre>
     * 
     * This function will first call the action, if any, ("dosomething();" in our
     * example), and then it will pop three states from the stack,
     * one for each entry on the right-hand side of the expression
     * (B, blah, and C in our example rule), and then push the result of the action
     * back on to the stack with the resulting state reduced to (as described in the .out
     * file)
     * @param int Number of the rule by which to reduce
     */
    function yy_reduce($yyruleno)
    {
        //int $yygoto;                     /* The next state */
        //int $yyact;                      /* The next action */
        //mixed $yygotominor;        /* The LHS of the rule reduced */
        //block_formal_langs_parser_cpp_languageyyStackEntry $yymsp;            /* The top of the parser's stack */
        //int $yysize;                     /* Amount to pop the stack */
        $yymsp = $this->yystack[$this->yyidx];
        if (self::$yyTraceFILE && $yyruleno >= 0 
              && $yyruleno < count(self::$yyRuleName)) {
            fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
                self::$yyTracePrompt, $yyruleno,
                self::$yyRuleName[$yyruleno]);
        }

        $this->_retvalue = $yy_lefthand_side = null;
        if (array_key_exists($yyruleno, self::$yyReduceMap)) {
            // call the action
            $this->_retvalue = null;
            $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
            $yy_lefthand_side = $this->_retvalue;
        }
        $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
        $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
        $this->yyidx -= $yysize;
        for ($i = $yysize; $i; $i--) {
            // pop all of the right-hand side parameters
            array_pop($this->yystack);
        }
        $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
        if ($yyact < self::YYNSTATE) {
            /* If we are not debugging and the reduce action popped at least
            ** one element off the stack, then we can push the new element back
            ** onto the stack here, and skip the stack overflow test in yy_shift().
            ** That gives a significant speed improvement. */
            if (!self::$yyTraceFILE && $yysize) {
                $this->yyidx++;
                $x = new block_formal_langs_parser_cpp_languageyyStackEntry;
                $x->stateno = $yyact;
                $x->major = $yygoto;
                $x->minor = $yy_lefthand_side;
                $this->yystack[$this->yyidx] = $x;
            } else {
                $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
            }
        } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
            $this->yy_accept();
        }
    }

    /**
     * The following code executes when the parse fails
     * 
     * Code from %parse_fail is inserted here
     */
    function yy_parse_failed()
    {
        if (self::$yyTraceFILE) {
            fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
        }
        while ($this->yyidx >= 0) {
            $this->yy_pop_parser_stack();
        }
        /* Here code is inserted which will be executed whenever the
        ** parser fails */
    }

    /**
     * The following code executes when a syntax error first occurs.
     * 
     * %syntax_error code is inserted here
     * @param int The major type of the error token
     * @param mixed The minor type of the error token
     */
    function yy_syntax_error($yymajor, $TOKEN)
    {
#line 40 "langs_src/parser_cpp_language.y"

    $this->error = true;
    $stack = array();
    foreach($this->yystack as $entry) {
        if ($entry->minor != null) {
            $stack[] = $entry->minor;
        }
    }
     // var_dump(array_map(function($a) { return $a->type() . ' ';  }, $stack));
    if (is_array($this->root)) {
        if (count($this->root)) {
            $this->root = array_merge($this->root, $stack);
        }
        else {
            $this->root  = $stack;
        }
    } else {
        $this->root = $stack;
    }
    /*
    echo "Syntax Error on line " . $this->lex->line . ": token '" .
        $this->lex->value . "' while parsing rule:\n";
    echo "Stack: ";
	foreach ($this->yystack as $entry) {
        echo self::$yyTokenName[$entry->major] . "\n";
    }
    foreach ($this->yy_get_expected_tokens($yymajor) as $token) {
        $expect[] = self::$yyTokenName[$token];
    }
	throw new Exception(implode(',', $expect));
	*/
#line 9297 "langs_src/parser_cpp_language.php"
    }

    /**
     * The following is executed when the parser accepts
     * 
     * %parse_accept code is inserted here
     */
    function yy_accept()
    {
        if (self::$yyTraceFILE) {
            fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
        }
        while ($this->yyidx >= 0) {
            $stack = $this->yy_pop_parser_stack();
        }
        /* Here code is inserted which will be executed whenever the
        ** parser accepts */
    }

	public $repeatlookup = false;
	
    /**
     * The main parser program.
     * 
     * The first argument is the major token number.  The second is
     * the token value string as scanned from the input.
     *
     * @param int   $yymajor      the token number
     * @param mixed $yytokenvalue the token value
     * @param mixed ...           any extra arguments that should be passed to handlers
     *
     * @return void
     */
    function doParse($yymajor, $yytokenvalue)
    {
//        $yyact;            /* The parser action. */
//        $yyendofinput;     /* True if we are at the end of input */
        $yyerrorhit = 0;   /* True if yymajor has invoked an error */
        
        /* (re)initialize the parser, if necessary */
        if ($this->yyidx === null || $this->yyidx < 0) {
            /* if ($yymajor == 0) return; // not sure why this was here... */
            $this->yyidx = 0;
            $this->yyerrcnt = -1;
            $x = new block_formal_langs_parser_cpp_languageyyStackEntry;
            $x->stateno = 0;
            $x->major = 0;
            $this->yystack = array();
            array_push($this->yystack, $x);
        }
        $yyendofinput = ($yymajor==0);
        
        if (self::$yyTraceFILE) {
            fprintf(
                self::$yyTraceFILE,
                "%sInput %s\n",
                self::$yyTracePrompt,
                self::$yyTokenName[$yymajor]
            );
        }
        
        do {
			if ($this->repeatlookup)
			{
				$oldmajor = $yymajor;
				$yymajor = $this->perform_repeat_lookup($yymajor, $yytokenvalue);
				/*
				if ($oldmajor != $yymajor)
				{				
					echo "Replaced value " 
					   . $yytokenvalue->value() 
					   . " of type \"" .  $yytokenvalue->type() 
					   . "\" to \""      . (int)$yymajor . "\"\r\n";
				}
				*/
			}
			$yyact = $this->yy_find_shift_action($yymajor);
            
			if ($yymajor < self::YYERRORSYMBOL
                && !$this->yy_is_expected_token($yymajor)
            ) {
                // force a syntax error
                $yyact = self::YY_ERROR_ACTION;
            }
            if ($yyact < self::YYNSTATE) {
                $this->yy_shift($yyact, $yymajor, $yytokenvalue);
                $this->yyerrcnt--;
                if ($yyendofinput && $this->yyidx >= 0) {
                    $yymajor = 0;
                } else {
                    $yymajor = self::YYNOCODE;
                }
            } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
                $this->yy_reduce($yyact - self::YYNSTATE);
            } elseif ($yyact == self::YY_ERROR_ACTION) {
                if (self::$yyTraceFILE) {
                    fprintf(
                        self::$yyTraceFILE,
                        "%sSyntax Error!\n",
                        self::$yyTracePrompt
                    );
                }
                if (self::YYERRORSYMBOL) {
                    /* A syntax error has occurred.
                    ** The response to an error depends upon whether or not the
                    ** grammar defines an error token "ERROR".  
                    **
                    ** This is what we do if the grammar does define ERROR:
                    **
                    **  * Call the %syntax_error function.
                    **
                    **  * Begin popping the stack until we enter a state where
                    **    it is legal to shift the error symbol, then shift
                    **    the error symbol.
                    **
                    **  * Set the error count to three.
                    **
                    **  * Begin accepting and shifting new tokens.  No new error
                    **    processing will occur until three tokens have been
                    **    shifted successfully.
                    **
                    */
                    if ($this->yyerrcnt < 0) {
                        $this->yy_syntax_error($yymajor, $yytokenvalue);
                    }
                    $yymx = $this->yystack[$this->yyidx]->major;
                    if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ) {
                        if (self::$yyTraceFILE) {
                            fprintf(
                                self::$yyTraceFILE,
                                "%sDiscard input token %s\n",
                                self::$yyTracePrompt,
                                self::$yyTokenName[$yymajor]
                            );
                        }
                        $this->yy_destructor($yymajor, $yytokenvalue);
                        $yymajor = self::YYNOCODE;
                    } else {
                        while ($this->yyidx >= 0
                            && $yymx != self::YYERRORSYMBOL
                            && ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
                        ) {
                            $this->yy_pop_parser_stack();
                        }
                        if ($this->yyidx < 0 || $yymajor==0) {
                            $this->yy_destructor($yymajor, $yytokenvalue);
                            $this->yy_parse_failed();
                            $yymajor = self::YYNOCODE;
                        } elseif ($yymx != self::YYERRORSYMBOL) {
                            $u2 = 0;
                            $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
                        }
                    }
                    $this->yyerrcnt = 3;
                    $yyerrorhit = 1;
                } else {
                    /* YYERRORSYMBOL is not defined */
                    /* This is what we do if the grammar does not define ERROR:
                    **
                    **  * Report an error message, and throw away the input token.
                    **
                    **  * If the input token is $, then fail the parse.
                    **
                    ** As before, subsequent error messages are suppressed until
                    ** three input tokens have been successfully shifted.
                    */
                    if ($this->yyerrcnt <= 0) {
                        $this->yy_syntax_error($yymajor, $yytokenvalue);
                    }
                    $this->yyerrcnt = 3;
                    $this->yy_destructor($yymajor, $yytokenvalue);
                    if ($yyendofinput) {
                        $this->yy_parse_failed();
                    }
                    $yymajor = self::YYNOCODE;
                }
            } else {
                $this->yy_accept();
                $yymajor = self::YYNOCODE;
            }            
        } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
    }
}
